我有一个来自查询查询的光标来吸引所有人:
var cursor = db.people.find({ <query> });
然后我迭代每个文档并为每个文档发出更新查询:
while(cursor.hasNext()){
var obj = cursor.next();
// do some processing ...
db.people.update({ _id: obj._id}, { <set some fields> })
}
似乎更新是异步触发的,当while循环完成时,此脚本也会完成,并且某些更新尚未完成。我在这里缺少什么?
答案 0 :(得分:0)
您使用的是什么API驱动程序?
在pymongo驱动程序中,有一个叫做WriteConcern的东西。
如果未将其设置为0
(换句话说:如果未禁用),则应等待写入完成后再返回。
在调试工作中,您还可以检查更新调用的结果。