1、创建数据库


>use database_name  //如果数据库不存在,将创建一个新的数据库,否则将返回现有的数据库;


>db


>show dbs //查询数据库列表, 新创建的数据库不会在于列表中。要显示的数据库,需要至少插入一个文档进去;

2、向数据库插入数据

db.COLLECTION_NAME.insert(document)


>db.student.insert({sno: 1001, name: "sxj", sex: "male"})    或者
 
>db.student.save({sno: 1002, name: "sxj", sex: 1})


如果要以单个查询插入多个文档,可以通过文档 insert() 命令的数组方式。


3、删除数据库

>db.dropDatabase()

4、创建集合

db.createCollection(name, options) 用于创建集合,name (String类型)是要创建集合的名称, options(Document类型,可选项) 是一个文档,用于指定集合的配置(指定有关内存大小和索引选项)。

>db.createCollection("student")   //创建集合 student
>show collections  //查看创建的集合

>db.createCollection("mycollection", {capped: true, autoIndexID: true, size: 6142800, max: 10000 } )


其实在MongoDB中并不需要创建集合。 当插入一些文档时 MongoDB 会自动创建集合。



5、删除集合


>db.COLLECTION_NAME.drop()  //从数据库中删除集合;

6、查询文档

>db.COLLECTION_NAME.find()    
  
>db.  
COLLECTION_NAME.find().pretty()     //将结果格式化显示;


>db.COLLECTION_NAME.findOne(condition)  //不能用pretty()方法
不同的查询方法 http://database.51cto.com/art/201207/350718.htm
limit(number)方法,限制查出的记录数
sort(number)方法,用于跳过的文件数
skip()方法,文档排序,使用1和-1指定排序顺序。1用于升序,而-1是用于降序。

7、更新文档

MongoDB的update()和save()方法用于更新文档到一个集合。 update()方法将现有的文档中的值更新,而save()方法使用传递到save()方法的文档替换现有的文档。


>db.COLLECTION_NAME.update(SELECTIOIN_CRITERIA, UPDATED_DATA)
>db.student.update({'name':'sxj'},{$set:{'name':'zhangsan'}})

8、删除文档

MongoDB 的 remove()方法用于从集合中删除文档。remove()方法接受两个参数。一个是标准缺失,第二是justOne标志。deletion criteria : 根据文件(可选)删除条件将被删除。justOne : (可选)如果有多个记录,并要仅删除第一条记录,那么设置justOne为true或1,只删除一个文档。


>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)>db.student.remove({'name':'sxj'})>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
如果没有指定删除条件,则MongoDB将从集合中删除整个文件。>db.student.remove({})    
9、MongoDB投影

mongodb投影意义是只选择需要的数据,而不是选择整个一个文档的数据。如果一个文档有5个字段,只需要显示3个,只从中选择3个字段。

MongoDB的find()方法,解释了MongoDB中查询文档接收的第二个可选参数是要检索的字段列表。在MongoDB中,当执行find()方法,那么它会显示一个文档的所有字段。要限制这一点,需要设置字段列表值为1或0。1是用来显示字段,而0被用来隐藏字段。

>db.COLLECTION_NAME.find({},{KEY:1})
10、MongoDB索引
索引支持查询高效率执行。如果没有索引,MongoDB必须扫描集合中的每一个文档,然后选择那些符合查询语句的文档。若需要MongoDB来处理大量数据,扫描是非常低效的。
索引是特殊的数据结构,存储在一个易于设置遍历形式的数据的一小部分。索引存储在索引中指定特定字段的值或一组字段,并排序字段的值。
要创建索引,需要使用MongoDB的ensureIndex()方法。


>db.COLLECTION_NAME.ensureIndex({KEY:1})  
  
//这里键是要创建索引字段,1是按名称升序排序。若以按降序创建索引,需要使用 -1.


11、MongoDB 聚合
聚合操作处理数据记录并返回计算结果。从多个文档聚合分组操作数值,并可以执行多种对分组数据业务返回一个结果。 在SQL中的count(*),使用group by 与mongodb的聚合是等效的。 对于MongoDB的聚合,使用的是aggregate()方法。


>db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)


   
   
    
    12、复制副本
   
   
   
   
    
    
    
    要转换为副本集,按照以下的步骤:

    
    
关闭已经运行的 MongoDB 服务器。
 
现在,通过指定--replSet选项启动 MongoDB 服务器。--replSet 的基本语法如下:
 

mongod --port "PORT" --dbpath "YOUR_DB_DATA_PATH" --replSet "REPLICA_SET_INSTANCE_NAME"
例子:
    
    mongod --port 27017 --dbpath "D:\MongoDB\data\bin" --replSet rs0
    
    
这将启动一个名为rs0的一个mongod实例,端口为: 27017
 
现在打开启动命令提示符,然后连接到mongod实例
 
在Mongo的客户端使用命令rs.initiate()来启动一个新的副本集
 
要检查副本设置配置,则使用命令rs.conf()
 
要检查副本集发行的状态,使用命令rs.status()
 


   
   
    
    13、备份与恢复
   
   
   
   
    
    
    
    >mongodump      //转储服务器的所有数据到转储目录
>mongorestore   //从备份目录恢复所有的数据