2017-09-22 76 views
0

我正在使用$push將值附加到數組。mongodb如何維護一個獨特的陣列

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

回答

2

使用$ addToSet

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