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:"2017−05−30",
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为了使搜索不区分大小写,我们使用 options带有值参数 i。下面的命令会搜索字符串: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. inc修改器 inc可以对文档的某个值为数字型(只能为满足要求的数字)的键进行增减的操作。
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”分别对应<,<=,>,>=