mongodb 如何维护唯一数组

mongodb how to maintain an unique array

我正在使用 $push 将值附加到数组。

connection.erp_datasets.erp_datasets.update_one({'erp_name': 'erp1'},
                                            {'$push': {'data_set': 'database1'}}, upsert=True)

问题是每当我再次 运行 查询时,多个 erp1 将被附加到列表中,

"data_set" : [ 
    "erp1", 
    "erp1"
]

我想知道如何维护具有唯一值的数组。所以不管我执行了多少次上面的查询,data_set 只会包含一个 erp1,

"data_set" : [ 
    "erp1"
]

使用 $addToSet

connection.erp_datasets.erp_datasets.update_one({'erp_name': 'erp1'}, {'$addToSet': {'data_set': 'database1'}}, upsert=True)