MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Puoi specificare una chiave per $ addToSet in Mongo?

Puoi qualificare il tuo update con un oggetto query che impedisce l'aggiornamento se il name è già presente in profile_set . Nella shell:

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

Quindi questo eseguirà solo il $push per un documento con un _id corrispondente e dove non c'è un profile_set elemento dove name è 'nick' .