sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose:sätt inte in elementet redan lagrat

Du kan använda en update samtal med upsert alternativ för att göra detta:

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

Om det redan finns ett dokument med det tweet-id:t, är detta en no-op. Annars kommer det att lägga till dokumentet.

$setOnInsert kräver v2.4+ av MongoDB. Om din version är mindre än 2.4 blir saker och ting mer komplicerade.




  1. Hur man snabbar upp mongo-frågan

  2. maxmemory parameter i redis.conf

  3. Behöver jag rensa användarinmatning innan jag infogar i MongoDB (MongoDB+Node js combo)

  4. Bästa praxis för att uppgradera Redis med Sentinels?