Pymongo脚本线程安全

时间:2014-01-28 19:35:04

标签: thread-safety pymongo

我有一个pymongo脚本检查一个元素,如果它在集合中然后返回它的id,否则它插入然后返回新插入的集合的id。我希望这是线程安全的。因为几个脚本可能使用此脚本来检查元素。 我该如何使这个线程安全。

我看到了start_request方法,认为它会起作用,但事实并非如此。它插入两个引用同一元素的文档。

1 个答案:

答案 0 :(得分:0)

shx2所述,您不是在寻找线程安全,而是在寻找原子数据库事务。

MongoDB findAndModify可能就是你要找的东西。它以原子方式更新文档,或者在指定new: trueupsert: true选项时插入文档并返回文档。