MongoDB 数据库命令操作

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 //从备份目录恢复所有的数据

 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值