0

$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"
]
4

1 回答 1

2

使用 $addToSet

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

于 2017-09-22T15:01:42.047 回答