2014-01-28 51 views
0

我有一个pymongo脚本,它检查一个元素,如果它在集合中,则返回它的id,否则插入并返回新插入的集合的id。我希望这是线程安全的。由于多个脚本可能会使用此脚本来检查元素。 我应该如何使这个线程安全。Pymongo脚本线程安全

我看到start_request方法,认为它会工作,但它不。它插入两个引用相同元素的文档。

+0

从你使用'scripts'这个词并没有提及'threads'的事实,我怀疑它不是线程安全的, – shx2

回答

0

由于shx2提到,您不是在寻找线程安全性,而是为了原子数据库事务。

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