MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come interrompere l'inserimento di documenti duplicati in una raccolta mongodb

Non utilizzare inserto.

Usa aggiornamento con upsert=true . L'aggiornamento cercherà il documento che corrisponde alla tua richiesta, quindi modificherà i campi desiderati e quindi potrai dirgli di inserirlo:Vero se vuoi inserire se nessun documento corrisponde alla tua richiesta.

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

Quindi, per il tuo esempio, potresti usare qualcosa del genere:

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