【问题标题】:How to prevent python from inserting duplicates into mongodb?如何防止python将重复项插入mongodb?
【发布时间】:2021-03-27 17:31:48
【问题描述】:

我将 json 数据存储在一个变量中,该变量每天使用 Python 一次插入 MongoDB。但是变量中的 json 数据通常不会改变,但它仍然会被插入到 MongoDB 中……这会产生大量相同条目的重复项。

json 数据变量中的每个条目都有 1 个唯一键:uuid


如何防止 Python 将重复项插入 MongoDB?我查看了db.collection.update(),但我不确定它是否合适并且我不知道如何将它与变量一起使用?

【问题讨论】:

  • 我不知道 no-sql 数据库,但在 SQL 数据库中你可能有命令 UPDATE OR INSERT。您也可以先检查数据库中是否存在元素,如果已经存在则不要添加它。

标签: python python-3.x mongodb duplicates insert-update


【解决方案1】:

只要您可以检查其 id 的唯一性,您就可以使用方法 update_one() 并为此设置 upsert

例如,

filter_data = {'uuid': '111'}
new_data = {'$set': {'new_value': 25}} 
db.collection.update_one(filter_data, new_data, upsert=True)

这将检查 uuid = '111' 是否存在,如果不存在则创建一个文档;否则,更新它。

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2015-08-07
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    • 2016-02-19
    • 2012-08-30
    • 1970-01-01
    相关资源
    最近更新 更多