mongodb各种操作命令

来源:互联网 发布:肩颈按摩仪 知乎 编辑:程序博客网 时间:2024/06/07 17:54

1、导出mongodb数据,Tomas访问信息数据,User——functionUsage,点击右键,Export Collection,可以保存为json或csv格式。
2、mongodb数据库中,只有主键key中包含的索引都相同,才是重复数据,一个索引相同,不叫重复数据。主键是集合的唯一索引。
3、mongoexport 用法举例:
mongoexport -h 127.0.0.1 –port 27017 –username * –password * –db * –collection * –type csv -f “上传日期” -q ‘{“上传日期” : {lt:"20170530",gte: “2017-05-01”},”批次”:{$in:[“2787508”,”7060888”]}}’ –out /usr/local/1.csv –authenticationDatabase admin

1)mongodb数据聚合

    db.faultDetailInfo.aggregate([{$match: {"状态":{$in:["Fixed", "Dismissed", "New"]}}},{$group: {_id:{"项目名称":"$项目名称", "状态":"$状态"}, "数量":{$sum:1}}},])

coverity person统计结果的pipe:

    db.faultDetailInfo.aggregate([{$match:{"迭代号":{$gte:79,$lte:86}}},{$group:{_id:{"所有者":"$所有者"},"数量":{$sum:1}}},])    db.eNbLocationInfo.aggregate([{$match:{"导入日期" : "2017-05-08"}},{$group:{_id:"$地市",total:{$sum:1}}}])聚合函数

2)mongodb的数据查询
db.repairColl.find({“板件名称” :{regex:/68/,nin: [/8968/]}})
mongodb查看某个字段的数据

db.repairAnalysisInfo.find({"序列号" : "219101631054"})

模糊查询

db.AlarmCfgInfo.find({"分类":{$regex:/BBU.*/}})

嵌套查询

db.customer.find({"login_user.phone":"110"})

mongodb查看5月都有哪些日期

db.repairAnalysisInfo.distinct("RMA审核日期",{"RMA审核日期":/2017-05/})

查找status中为”A”或”D”的记录

db.test.find({status:{$in:["A","D"]}})  

查找status为”A”并且age大于30的记录

db.test.find( { status: "A", age: { $lt: 30 } } )

查询 仅仅 匹配那些包含值是 null 的 name 字段的文档(排除了name不存在的记录),亦即 条目 字段的值是BSON类型中的 Null (即 10 )

db.test.find({name:{$type:10}})  

mongodb为了使搜索不区分大小写,我们使用optionsi。下面的命令会搜索字符串:yiibai.com,不论大小写:

db.posts.find({post_text:{$regex:"yiibai",$options:"$i"}})

查询归属设备的网元中不存在MEID的记录

db.test.find({"归属设备的网元":{$regex: "^((?!MEID).)*$"}})

3)删除序列号以**(例如21)开头的记录

db.repairColl.remove({"序列号":/^21/})

4)查询集合中唯一值,并更新。

    allDate, _ := RestoreDatedbobject.GetDistinct("_id.告警恢复日期", bson.M{"_id.地市": cityName})
cityDate.UpdateOne(bson.M{"地市": cityName}, bson.M{"$addToSet": bson.M{"告警日期": bson.M{"$each": allDate}}})

5)添加或删除某个嵌套的字段

添加嵌套的字段db.globalStatCache.update({"_id" : ObjectId("58b54dda2677e343786b8f98")},{$set:{"播放内容.06ac070bb4c20c922cf5a6eedc295244":""}},{multi:true})
删除嵌套的字段db.globalStatCache.update({"_id" : ObjectId("58b54dda2677e343786b8f98")},{$unset:{"播放内容.06ac070bb4c20c922cf5a6eedc295244":""}},{multi:true})

6)删除某个字段

db.AlarmCfgInfo.update({"_id" : ObjectId("5817f964c9d3aba570a84a1e")},{$unset:{"BBU单板类型列表":''}},false, false)删除字段,最后一个false,之匹配查找的第一个
删除单板类型列表中的"host-[VVE136AUS-1.60]-"db.AssetCfgInfo.update({"_id" : ObjectId("595c92feb1862a1450061754")},{"$pull":{"单板类型列表":"host-[VVE136AUS-1.60]-"}})  

7)删除记录

db.test.remove({"_id" : ObjectId("5940fdebda54ee1e9ce84d27")})  

8)更改字段名称

db.AssetCfgInfo.update({"_id" : ObjectId("5940fdebda54ee1e9ce84d27")}, {$rename : {"A" : "B"}}, false, true)更改字段名称(由“A”改为“B”)

9)更改字段的值

db.AssetCfgInfo.update({"_id" : ObjectId("5940fdebda54ee1e9ce84d27")},{$set:{"分类" : "A"}})更改字段的值(“A”便是更改后的值)

10)为某个字段添加一个或多个值
为某个字段添加1个值

db.AssetCfgInfo.update({"_id" : ObjectId("595c92feb1862a1450061754")},{$push:{"单板类型列表":"THUB"}}) 

为某个字段添加多个值

b.AssetCfgInfo.update({"_id" : ObjectId("595c92feb1862a1450061754")},{$pushAll:{"单板类型列表":["THUB","UBPG1"]}}) 

11)给集合添加索引,后台运行,唯一索引,并且重命名

db.unicom_detailInfo.ensureIndex({"办事处送修日期" : -1,"序列号" :1},{"background":true,"unique":true,"name":"RepairInfo_repairCollNew_uniqueIndex"})

1.incinc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。

db.b.find()
{ “_id” : ObjectId(“5003b6135af21ff428dafbe6”), “uid” : “201203”, “type” : “1”,
“size” : 13 }
db.b.update({“uid” : “201203”},{“$inc”:{“size” : -1}})
db.b.find()
{ “_id” : ObjectId(“5003b6135af21ff428dafbe6”), “uid” : “201203”, “type” : “1”,
“size” : 12 }

2.set使set更新时,使用”.”连接的方式。

db.c.update({“name”:”toyota”},{“$set”:{“size.width”:7}})
db.c.findOne({“name”:”toyota”})
{
“_id” : ObjectId(“5003be465af21ff428dafbe7”),
“name” : “toyota”,
“type” : “suv”,
“size” : {
“height” : 8,
“width” : 7,
“length” : 15
}
}

3、unset使unset时,不论对目标键使用1、0、-1或者具体的字符串等都是可以删除该目标键。

4、$push–向文档的某个数组类型的键添加一个数组元素,不过滤重复的数据。添加时键存在,要求键值类型必须是数组;键不存在,则创建数组类型的键。

db.AssetCfgInfo.update({"_id" : ObjectId("595c92feb1862a1450061754")},{$pushAll:{"单板类型列表":["THUB","UBPG1","UBPI","UBPM","UCI","UES0"]}}) 

5、$pop从数组的头或者尾删除数组中的元素。从数组的尾部删除

db.c.update({"name" : "toyota"},{$pop:{"title":1}})

从数组的头部 -1或0

db.c.update({"name" : "toyota"},{$pop:{"title":-1}})

6、$pull从数组中删除满足条件的元素

db.c.update({"name" : "toyota"},{$pull:{"title":"t2"}})

7、”lt","lte”,”gt","gte”分别对应<,<=,>,>=

原创粉丝点击