mongodb 常用脚本(Mongodb common scripts)

//常规查询

db.getCollection(‘test’).find({}).sort({_id:-1}).limit(2)

//模糊查询

db.getCollection(‘test’).find({“b”:{$regex:”}})

数组元素查询

db.getCollection(‘test’).find({“list.a”:668})

聚合查询

db.getCollection(‘test’).aggregate([{ “$match” : { “StudentId” : “e3379646-7023-4fa4-a98f-e7ad683e0f32”, “TotalNumbers” : { “$gt” : 0 } } },{ “$group” : { “_id” : “$ApplicationId” , “CorrectRate” : { “$avg” : { “$divide” : [“$CorrectNumbers”, “$TotalNumbers”] } } } },{ “$match” : { “CorrectRate” : { “$lt” : 1 } } },{ “$sort” : { “CorrectRate” : 1 } },{ “$project” : { “_id” : 0, “ActivityId” : “$_id”, “CorrectRate” : “$CorrectRate” } },{ “$limit” : 20 }])

//更新单个字段db.test.update({a:0},{$set:{‘b’:0}},{multi:true})

//删除单个字段

db.test.update({a:0},{$unset:{‘b’:0}},{multi:true})

// 覆盖更新db.test.update({a:1},{b:2})

//更新子元素数组db.test.update({“list.a”:668},{$set: {‘list.$.b’:”666″}},{multi:true})

//追加子元素db.test.update({“list.a”:668},{$push: {‘list’:{ ‘a’: 665,’er’:”1234″ }}},{multi:true})

// 删除子元素数组db.test.update({},{$pull: {‘list’:{ ‘a’: 665 }}},{multi:true})

————————

//General query

db.getCollection(‘test’).find({}).sort({_id:-1}).limit(2)

//Fuzzy query

db.getCollection(‘test’).find({“b”:{$regex:”}})

Array element query

db.getCollection(‘test’).find({“list.a”:668})

Aggregate query

db.getCollection(‘test’).aggregate([{ “$match” : { “StudentId” : “e3379646-7023-4fa4-a98f-e7ad683e0f32”, “TotalNumbers” : { “$gt” : 0 } } },{ “$group” : { “_id” : “$ApplicationId” , “CorrectRate” : { “$avg” : { “$divide” : [“$CorrectNumbers”, “$TotalNumbers”] } } } },{ “$match” : { “CorrectRate” : { “$lt” : 1 } } },{ “$sort” : { “CorrectRate” : 1 } },{ “$project” : { “_id” : 0, “ActivityId” : “$_id”, “CorrectRate” : “$CorrectRate” } },{ “$limit” : 20 }])

//Update single field dB test. update({a:0},{$set:{‘b’:0}},{multi:true})

//Delete a single field

db.test.update({a:0},{$unset:{‘b’:0}},{multi:true})

//Overwrite update dB test. update({a:1},{b:2})

//Update sub element array dB test. update({“list.a”:668},{$set: {‘list.$.b’:”666″}},{multi:true})

//Append child element dB test. update({“list.a”:668},{$push: {‘list’:{ ‘a’: 665,’er’:”1234″ }}},{multi:true})

//Delete sub element array dB test. update({},{$pull: {‘list’:{ ‘a’: 665 }}},{multi:true})