我有一个巨大的mongodb数据库,并且由于在任何给定时间只有一个线程在集合中写入并且所有更新都在已经存在的文档上执行,我希望mongodb不承认任何操作,因为我想提高绩效。
我遇到了一个writeConcern rundown here,但我不知道如何使用pymongo中更新的未确认写入问题。
注意:我使用的是pymongo 2.7.1,python 3.4和mongo 2.6.3
修改:我想将修改后的写入关注更新bulk version添加到Neil Lunn的解决方案中。
答案 0 :(得分:12)
您可以在两个地方中的任何一个地方执行此操作。
获取最初的MongoClient:
client = MongoClient(w=0)
或者在将语句作为附加参数发布时:
result = db.collection.update({ 'a': 1 }, { 'a': 2 }, w=0 )
两者都是指定写入问题的有效位置。你在MongoClient上指定的是连接的“全局”,其他语句覆盖使用的地方,或者只使用“全局”。