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

Mongoose:Indsæt ikke, hvis elementet allerede er gemt

Du kan bruge en update opkald med upsert mulighed for at gøre dette:

TweetsModel.update(
    {tweet_id: tweet.tweet_id}, 
    {$setOnInsert: tweet}, 
    {upsert: true}, 
    function(err, numAffected) { .. }
);

Hvis der allerede findes et dokument med det tweet-id, så er dette en no-op. Ellers tilføjer den dokumentet.

$setOnInsert kræver v2.4+ af MongoDB. Hvis din version er mindre end 2.4, bliver tingene mere komplicerede.




  1. MongoDB $pow

  2. Fjern dokumenter fra en MongoDB-samling baseret på tidspunktet for et Dato-felt

  3. import mongoose-skema til en anden skemafil gør det importerede skema udefineret

  4. PHP72 MongoDB-driver med Homebrew på OSX