软件下载吧文章资讯

分类分类

MongoDB使用小结 一些常用操作分享

2024-02-24 17:17作者:下载吧

MongoDB的使用之前也分享过一篇,稍微高阶点:见这里:《MongoDB使用小结》

1、shell登陆和显示

假设在本机上有一个端口为17380的MongoDB服务,假设已经把mongo bin文件加入到系统PATH下。

登陆:mongo –port 17380

显示DB:show dbs

进入某DB:use test_cswuyg

显示集合:show tables

2、简单查找
查找文档:db.test_mac_id.find({‘a’: ‘b’})

删除文档:db.test_mac_id.remove({‘a’: ‘b’})

查找找到某一天的数据:

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’)})

小于2014.6.5的数据:

db.xxx.find({E: {$lt :ISODate(‘2014-06-05’)}})

大于等于2014.6.1的数据:

db.xxx.find({E: {$gte: ISODate(“2014-05-29”)}}).count()

两个条件:

db.xxx.find({E:{$gte: ISODate(“2014-05-29”), $lte: ISODate(“2014-06-04”)}}).count()

json中的嵌套对象查询,采用“点”的方式:

mongos> db.wyg.find({“a.b”: {$exists: true}})

{ “_id” : “c”, “a” : { “b” : 10 } }

某个字段存在,且小于1000有多少:

db.stat.find({_: ISODate(“2014-06-17”), “123”: {$exists: 1, $lte: 1000}}, {“123”: 1}).count()

3、存在和遍历统计
存在’i’: 1,且存在old_id字段:

mongos> var it = db.test.find({‘i’: 1, “old_id”: {$exists: 1}})

遍历计数1:mongos> var count = 0;while(it.hasNext()){if (it.next()[“X”].length==32)++count}print(count)

遍历计数2:mongos> var count = 0;while(it.hasNext()){var item = it.next(); if (item[‘X’].length==32 && item[‘_id’] != item[‘X’])++count;if(!item[‘X’])++count;}print(count)

4、插入和更新
> db.test.findOne({_id: ‘cswuyg’})

null

> db.test.insert({‘_id’: ‘cswuyg’, ‘super_admin’: true})

> db.test.findOne({‘_id’: ‘cswuyg’})

{

“_id” : “cswuyg”,

“super_admin” : true

}

db.test.update({‘_id’: ‘cswuyg’}, {$set: {‘super_admin’: true}})

5、repair 操作
对某个DB执行repair:进入要repair的db,执行db.repairDatabase()

对mongodb整个实例执行repair:numactl –interleave=all /mongod –repair –dbpath=/home/disk1/mongodata/shard/

6、mongodb任务操作
停止某个操作:

[xxx]$ mongo –port 17380
MongoDB shell version: 2.4.5
connecting to: 127.0.0.1:17380/test
mongos> db.currentOp()
{ “inprog” : [ …] }

mongos> db.killOp(“shard0001:163415563”)

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消