2017-09-22 5 views
0

J'utilise $push pour ajouter une valeur à un tableau.mongodb comment maintenir un tableau unique

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

Le problème est à chaque fois que je lance à nouveau la requête, plusieurs erp1 sera ajouté à la liste,

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

Je me demande comment maintenir le tableau avec des valeurs uniques. il n'a pas d'importance combien de fois j'exécuté la requête ci-dessus, data_set ne contiendra une erp1,

"data_set" : [ 
    "erp1" 
] 

Répondre

2

utilisation $ addToSet

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