常用的MongoDB操作.doc
MongoDB操作大全 MongoDB是一种流行的NoSQL数据库,提供了灵活的数据模型和高性能的数据存储能力。本文将总结常用的MongoDB操作,涵盖mongo-shell和pymongo两方面,既有运维层面也有应用层面,内容有浅有深。 一、连接和显示数据库 在使用MongoDB之前,需要先连接到MongoDB服务。可以使用mongo命令连接到本机上的MongoDB服务,例如:mongo --port 17380。然后,可以使用show dbs命令显示所有数据库的列表,例如:show dbs。在连接到某个数据库后,可以使用use命令选择要操作的数据库,例如:use test_cswuyg。 二、简单查找 MongoDB提供了强大的查找功能,可以根据不同的条件查找文档。例如,可以使用find命令查找某个集合中的文档,例如:db.test_mac_id.find({'a': 'b'})。也可以使用remove命令删除某个文档,例如:db.test_mac_id.remove({'a': 'b'})。 三、查找和删除数据 MongoDB提供了多种查找方式,例如,可以根据日期查找某一天的数据,例如:db.a.find({'D' : ISODate('2014-04-21T00:00:00Z')})或db.a.find({'D' : ISODate('2014-04-21')})。也可以删除某一天的数据,例如:db.region_mac_id_result.remove({"D" : ISODate('2014-04-17')})。 四、json中的嵌套对象查询 在MongoDB中,json对象可以嵌套其他对象。例如,可以使用点的方式来查询嵌套对象,例如:mongos> db.wyg.find({"a.b": {$exists: true}})。 五、存在和遍历统计 MongoDB提供了强大的遍历和统计功能,例如,可以遍历某个集合中的文档,并统计某个字段的数量,例如:mongos> var it = db.test.find({'i': 1, "old_id": {$exists: 1}})。也可以使用while循环来遍历文档,例如:mongos> var count = 0;while(it.hasNext()){if (it.next()["X"].length==32)++count}print(count)。 六、插入和更新 MongoDB提供了插入和更新文档的功能,例如,可以使用insert命令插入新的文档,例如:db.test.insert({'_id': 'cswuyg', 'super_admin': true})。也可以使用update命令更新某个文档,例如:db.test.update({'_id': 'cswuyg'}, {$set: {'super_admin': true}})。 七、repair操作 MongoDB提供了repair操作来修复某个数据库或整个实例,例如,可以使用db.repairDatabase()命令来修复某个数据库,或者使用numactl --interleave=all /mongod --repair --dbpath=/home/disk1/mongodata/shard/命令来修复整个实例。 八、任务操作 MongoDB提供了任务操作来停止某个操作,例如,可以使用db.currentOp()命令来获取当前操作的列表,例如:mongos> db.currentOp()。然后,可以使用db.killOp命令来停止某个操作,例如:mongos> db.killOp("shard0001:163415563")。也可以使用forEach循环来批量停止某些操作,例如:db.currentOp().inprog.forEach(function(item){db.killOp(item.opid)})。
剩余20页未读,继续阅读
- 粉丝: 0
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助