mongo 语句积累
更新:HHH   时间:2023-1-7


db.collection.stat() ---查看表结果

db.collection.find({ipad:/^10.42/{)).pretty() ---查看IPAD以10.42开头的IPAD字段(结尾10.42$)

db.collection.find({ipad:/^10.42/},{vipad:1.ipad:1,id:0}) ---第一个{条件},非id字段:1(显示),_id:0(不显示)

db.collection.find().limit(n) --限制输出几行记录

db.collection.find({"aa":{"$nin":[PDB,CDB]}}) ---查询相关字段not in的条件

db.collection.find({aa.sid:"cdb01"}) ---aa字段是一个[小文档集合 ]----[sid:"cdb01",hostname:""....]

db.collection.remove({ipad:/^10.42/}) ---删除特定条件记录,不加条件则删除全部

db.collection.drop() ---删除整个文档集合

db.vipad.renameCollection(vipad1) ---- 表名由VIPAD变成VIPAD1

db.collection.update({ipad:/^10.42/},{$set:{isUser:"true"}},{multi:true}) ---依据条件,更新字段isuser的值,multi:true代表符合条件所有记录都更新,默认不带此参数值更新第一条

db.getCollection('vipad').update({},{$rename:{"dg01":"dg02"}},{multi:true})

---multi:true全表增加字段,当然也可以写成,false,true

db.vipad.update({},{$set:{aa:""}},false,true) ---增加了字段aa,默认为空,相反删除字段用$unset
db.aaa.distinct("nmid",{"class":3}) --去重
DBQuery.shellBatchSize = 100; ---type it for more设置

批量更新:version:"8.7-abc"----更新为version:"8.7"

var collection = 'test';//集合名
var cnt=0;
db[collection].find().forEach(function(doc){
db[collection].update({_id:doc._id},
{$set:{version:doc.version.replace(/-abc$/,'')}},false,true);
cnt=cnt+1;
});
print (cnt);

返回MongoDB数据库教程...