MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Pouvez-vous spécifier une clé pour $addToSet dans Mongo ?

Vous pouvez qualifier votre update avec un objet requête qui empêche la mise à jour si le name est déjà présent dans profile_set . Dans le shell :

db.coll.update(
    {_id: id, 'profile_set.name': {$ne: 'nick'}}, 
    {$push: {profile_set: {'name': 'nick', 'options': 2}}})

Cela n'effectuera donc que le $push pour un document avec un _id correspondant et où il n'y a pas de profile_set élément où name est 'nick' .