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

标签 python mongodb pymongo

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

update_one() got an unexpected keyword argument 'w'

正确的做法是什么?我看到 insert 接受 'w' 但不接受 update_one 或 update_many。为什么?

最佳答案

覆盖 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 concern 的文档和 with_options

关于python - 如何使用 pymongo 的 collection.update_one 或 update_many 指定不安全/安全写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744976/

相关文章:

python - 这个算法是如何让pygame中的角色跳跃的呢?

python - Flask-Script add_option 方法不起作用

node.js - Mongoose 覆盖文档而不是 `$set` 字段

mongodb - 如何从mongo管道中检索每个单个数组元素?

python - 将基本变量列表写入文本文件

python - 使用正则表达式切换字符

MongoDB 并将 DBRef 与空间数据一起使用

mysql - 从索引表中高效查询

python - 在 PyMongo 中查询数组

python - 使用 python 在 mongodb 中查找在数组的特定索引处具有项目的文档