Svou update
můžete kvalifikovat s objektem dotazu, který brání aktualizaci, pokud name
je již přítomen v profile_set
. Ve skořápce:
db.coll.update(
{_id: id, 'profile_set.name': {$ne: 'nick'}},
{$push: {profile_set: {'name': 'nick', 'options': 2}}})
Takže toto provede pouze $push
pro dokument s odpovídajícím _id
a kde není profile_set
prvek kde name
je 'nick'
.