Du kan kvalificera din update
med ett frågeobjekt som förhindrar uppdateringen om name
finns redan i profile_set
. I skalet:
db.coll.update(
{_id: id, 'profile_set.name': {$ne: 'nick'}},
{$push: {profile_set: {'name': 'nick', 'options': 2}}})
Så detta kommer bara att utföra $push
för ett dokument med ett matchande _id
och där det inte finns en profile_set
element där name
är 'nick'
.