MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongoose :nicht einfügen, wenn das Element bereits gespeichert ist

Sie können ein update verwenden mit dem upsert aufrufen Möglichkeit dazu:

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

Wenn bereits ein Dokument mit dieser Tweet-ID vorhanden ist, ist dies ein No-Op. Andernfalls wird das Dokument hinzugefügt.

$setOnInsert erfordert v2.4+ von MongoDB. Wenn Ihre Version kleiner als 2.4 ist, werden die Dinge komplizierter.