# 批量修改字段值
db.getCollection('collectiona').find().forEach(
function(item){
db.getCollection('collectiona').update({"_id":item._id},{$set:{"outTradeNo1": 'wzf'+item.title}})
}
)
# 批量修改字段:从另外一张表查询对应字段进行更新
var cursor = db.getCollection("qualityInspectionInfo").find({"duration":null});
while (cursor.hasNext()){
r = cursor.next();
var resourceInfo = db.getCollection("resourceInfo").find({"taskId":r['taskId']})[0];
db.getCollection("qualityInspectionInfo").update({"taskId":r['taskId']},{$set:{"duration":resourceInfo['attr']['duration']}},false,false);
}
# 查找某字段的范围在和不在
# 查找特定字段的取值等于哪些值"$in" ,不等于则用"$nin"
db.getCollection('resourceInfo').find({"attr.channel":"test100","attr.seqNo":{"$in":['000','11133','qqqq']}});
# 根据时间范围查询
db.getCollection('M1SAudioUploadedInfo').find({"seqNo":/^test0915a116.*/,"cloudUploadStatus":{"$in":[0,1,2]},"audioPath":/.mnt.card.test0915a116.*/,
"createTime" : {"$gte":ISODate("2020-09-18T14:00:00.233+08:00"),"$lt":ISODate("2020-09-18T14:30:00.233+08:00")}}).count()
# 聚合统计求和
#无查询条件求字段和
db.resourceInfo.aggregate( [
{
$group: {
_id: null,total: { $sum: "$attr.duration" }
}
}
] );
# 跟进查询条件求字段和和数据量
db.resourceInfo.aggregate( [
{ $match : { "attr.callType":2,"statisticsStatus" : "1","info.voiceTime" : {"$gte":ISODate("2020-12-26T00:00:00.2000+08:00"), "$lt":ISODate("2020-12-27T00:00:00.2000+08:00")} }},
{ $group: { _id: null,count: { $sum: 1 },totalTime: { $sum: "$text.totalTime" },validTime: { $sum: "$text.validTime" }}}
] );
标签:语句,常用,attr,00,MongoDB,db,getCollection,resourceInfo,find
来源: https://www.cnblogs.com/forest-sunshine/p/14119611.html