sql >> Base de Datos >  >> NoSQL >> MongoDB

Cómo detener la inserción de documentos duplicados en una colección mongodb

No use inserto.

Usar actualización con upsert=true . La actualización buscará el documento que coincida con su consulta, luego modificará los campos que desee y luego, puede indicarle upsert:True si desea insertar si ningún documento coincide con su consulta.

db.collection.update(
   <query>,
   <update>,
  {
    upsert: <boolean>,
     multi: <boolean>,
    writeConcern: <document>
   }
  )

Entonces, para tu ejemplo, podrías usar algo como esto:

db.collection.update(doc, doc, {upsert:true})