0
我有这个数据库中的更新前:
{'id': 1, 'updating_this': 'a', 'removing_this': 'x'}
现在我打电话更新:
item = {'id': 1, 'updating_this': b'}
bulk.find({'id': item['id']}).update({'$set': item})
我所得到的结果是:
{'id': 1, 'updating_this': 'b', 'removing_this': 'x'}
我想要的结果:
{'id': 1, 'updating_this': 'b'}
所以基本上我想要update
命令删除所有缺少的字段,而不用$ unset操作指定它们,也就是完全覆盖文档。
我该如何解决这个问题?
更新得到了与replace_one()
'ValueError异常:更新仅$ operators'这个作品不与'批量工作写Operations'。我发现'replace_one'操作符可以完成它的工作,所以对于我来说这个问题得到了解答。尽管如此,感谢您的努力。 –
该错误来自mongodb的旧版本。链接的文档支持所提供的语法。 – autodidacticon
我在3.2.1以及最新的pymongo模块。 –