U kunt uw update
kwalificeren met een query-object dat de update verhindert als de name
is al aanwezig in profile_set
. In de schaal:
db.coll.update(
{_id: id, 'profile_set.name': {$ne: 'nick'}},
{$push: {profile_set: {'name': 'nick', 'options': 2}}})
Dit zal dus alleen de $push
. uitvoeren voor een document met een overeenkomende _id
en waar geen profile_set
. is element waar name
is 'nick'
.