MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como parar a inserção de documentos duplicados em uma coleção mongodb


Não use inserção.

Use atualização com upsert=true . A atualização procurará o documento que corresponde à sua consulta, modificará os campos desejados e, em seguida, você poderá informar upsert:True se desejar inserir se nenhum documento corresponder à sua consulta.
db.collection.update(
   <query>,
   <update>,
  {
    upsert: <boolean>,
     multi: <boolean>,
    writeConcern: <document>
   }
  )

Então, para o seu exemplo, você poderia usar algo assim:
db.collection.update(doc, doc, {upsert:true})