我在更新前在数据库中有这个:
{'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()
答案 0 :(得分:0)
您应该直接在不使用update
。
$set
item = {'id': 1, 'updating_this': b'}
bulk.update({'id': item['id']}, item)
https://docs.mongodb.org/manual/reference/method/db.collection.update/#replace-a-document-entirely