sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man stoppar infogning av dubbletter av dokument i en mongodb-samling

Använd inte insats.

Använd uppdatering med upsert=true . Update kommer att leta efter dokumentet som matchar din fråga, sedan ändrar den de fält du vill ha och sedan kan du säga till det upsert:True om du vill infoga om inget dokument matchar din fråga.

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

Så, för ditt exempel, kan du använda något i stil med detta:

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


  1. 10 tips för att förbättra din MongoDB-säkerhet

  2. Skip/Mock Redis In Junit

  3. Node.js, Mongo hitta och returnera data

  4. Det går inte att skapa/öppna låsfil:/data/mongod.lock errnr:13 Tillstånd nekad