mongoDB过滤重复、循环替换
一、滤重
db.question.aggregate([ { $match: { "audit.status": false } }, { $group: { _id: "$md5", max_id: { $max: "$_id" }, count: { $sum: 1 }, dups: { $addToSet: '$_id' } } }, { $match: { "count": { "$gt": 1 } } }, { $sort: { count: -1 } } ],{allowDiskUse:true}).forEach(function (doc) { doc.dups.shift(); db.question.remove({ _id: { $in: doc.dups } }); })
二、循环替换
let reg= /【 】/g db.question.find({question:{$regex:reg}}).forEach(i=>{ let c = i.question.replace(reg, '') console.log(i._id,i.question) console.log(i.question.match(reg)) db.question.update({_id:i._id},{$set:{question:c}}); })