sql >> Database >  >> NoSQL >> MongoDB

Hoe u het invoegen van dubbele documenten in een mongodb-verzameling kunt stoppen?

Gebruik geen inzetstuk.

Gebruik update met upsert=true . Update zoekt naar het document dat overeenkomt met uw zoekopdracht, wijzigt vervolgens de gewenste velden en u kunt het upsert:True vertellen als u wilt invoegen als er geen document overeenkomt met uw zoekopdracht.

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

Dus voor jouw voorbeeld zou je zoiets als dit kunnen gebruiken:

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


  1. Hoe Node.js WebSocket Redis Server te schalen?

  2. Retourneer het werkelijke type van een veld in MongoDB

  3. Spring Data MongoDB-transacties

  4. MongoDB $asin