我有以下查询我需要执行:
db.collection.find({}).forEach(function (doc) { doc.records.forEach(function (record) { if (record.user.email.includes("example.com") || record.user.email.includes("example.co.uk")) { record.user.internal = true; } else { record.user.internal = false }}); db.collection.save(doc); });
由于它是一个双嵌套foreach循环,是否有一种方法可以计算数据库中所有文档中所有records
循环的迭代?我尝试使用count()
,但似乎与forEach()
不起作用。
mongo shell支持JavaScript,因此您可以引入变量并将其递增。
var count=0 //variable to hold the number of iterations.
db.collection.find({
}).forEach(function(doc){
doc.records.forEach(function(record){
if(record.user.email.includes("example.com")||record.user.email.includes("example.co.uk")){
record.user.internal=true;
}else{
record.user.internal=false
}
});
db.collection.save(doc);
count++;
});
print(count)