sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose:nevkládejte, pokud je prvek již uložen

Můžete použít update zavolejte s upsert možnost, jak to udělat:

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

Pokud již existuje dokument s tímto ID tweetu, pak to není možné. V opačném případě přidá dokument.

$setOnInsert vyžaduje verzi 2.4+ MongoDB. Pokud je vaše verze nižší než 2.4, věci se zkomplikují.




  1. Jak spustit mongodb shell v kontejneru docker?

  2. Případy použití pro updateOne přes findOneAndUpdate v MongoDB

  3. Jak odeberu klíče?

  4. Je možné vrátit vypočítané pole z dotazu MongoDB?