MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongodb comment insérer UNIQUEMENT s'il n'existe pas (pas de mise à jour s'il existe) ?

Vous pouvez utiliser $setOnInsert comme,

db.companies.updateOne(
   {"company": "test"},
   { $setOnInsert: { "name": "nameVal2", ... } },
   { upsert: true }
)

Si cette opération de mise à jour ne fait pas d'insertion, $setOnInsert n'aura aucun effet. Ainsi, le name sera mis à jour uniquement lors de l'insertion.