我的MongoDB收藏中有这样的文档:
my_dict = {"chat": 1, "entity": 2, "count": 55}
我需要更新它们,如果文档不存在**(完全)**,则插入一个新文档:
results_collection.update_one(my_dict,
{"$set": {"chat": 1,
"entity": 2,
"count": 60}},
upsert=True)
但如果文档存在,它就是在复制它!它应该只是更新,因为chat
和entity
是相同的。但它是在插入一个新的。所以,我将有两个类似的文档,只有count
不同。
看看这是如何在图片
中复制的,
我想要新的来代替上面的那个。
我该怎么做呢?
1条答案
按热度按时间aiqt4smr1#
您需要找到匹配的文档。在您的情况下,您可以通过相同的字段来完成:
原始问题中的代码使用
my_dict
尝试查找要更新的匹配文档,但my_dict
包含count
,因此永远找不到该文档,从而创建了一个新文档...