如何使用pymongo的collection.update_one或update_many指定不安全/安全的写入

时间:2015-06-10 00:08:20

标签: python mongodb pymongo

我将连接默认为w = 0 但对于collection.update_one或collection.update_many,我想通过设置参数w = 0来设置每个操作的write_concern。相反,我收到了这个错误:

update_one() got an unexpected keyword argument 'w'

这样做的正确方法是什么?我看到插件接受了' w'但不是update_one或update_many。为什么呢?

1 个答案:

答案 0 :(得分:5)

覆盖PyMongo客户端,数据库或集合的写入问题的新方法是使用" with_options":

client = MongoClient(w=0)
collection = client.database.collection
w1_collection = collection.with_options(write_concern=WriteConcern(w=1))
w1_collection.update_one({'_id': 1}, {'$inc': {'x': 3}})

请参阅write concernwith_options

的文档