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'
.