Sie können Ihr update
qualifizieren mit einem Abfrageobjekt, das die Aktualisierung verhindert, wenn der name
ist bereits in profile_set
vorhanden . In der Shell:
db.coll.update(
{_id: id, 'profile_set.name': {$ne: 'nick'}},
{$push: {profile_set: {'name': 'nick', 'options': 2}}})
Dies führt also nur den $push
aus für ein Dokument mit einer übereinstimmenden _id
und wo es kein profile_set
gibt Element wobei name
ist 'nick'
.