MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Können Sie in Mongo einen Schlüssel für $addToSet angeben?

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