mongodb:游标迭代等待更新完成

时间:2016-08-03 03:35:35

标签: mongodb

我有一个来自查询查询的光标来吸引所有人:

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循环完成时,此脚本也会完成,并且某些更新尚未完成。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

您使用的是什么API驱动程序?

在pymongo驱动程序中,有一个叫做WriteConcern的东西。 如果未将其设置为0(换句话说:如果未禁用),则应等待写入完成后再返回。

在调试工作中,您还可以检查更新调用的结果。