MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongoose :ne pas insérer si élément déjà stocké

Vous pouvez utiliser une update appeler avec le upsert possibilité de le faire :

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

Si un document existe déjà avec cet identifiant de tweet, il s'agit d'un no-op. Sinon, il ajoutera la doc.

$setOnInsert nécessite la v2.4+ de MongoDB. Si votre version est inférieure à 2.4, les choses se compliquent.