我有两个收藏品,都有约100万份文件。
我想在col1中标记文档,如果它们存在于col2中:
db.col1.find().forEach(function(c1){
var c2=db.col2.find(a:c1.a);
if (c2!=null) {
c1.mark=true;
db.col1.save(c1);
}
});
似乎上面的脚本没有运行所有文件,因此我只更新了几个(~50)。我在这里缺少什么?
答案 0 :(得分:1)
我的猜测是因为save
is asynchronous,并且当你开始执行操作太快时,它开始表现得很奇怪。我尝试更改逻辑以处理save
回调,这样您就可以控制同时执行的保存数量。