MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mangusto:não insira se o elemento já estiver armazenado


Você pode usar uma update ligue com o upsert opção para fazer isso:
TweetsModel.update(
    {tweet_id: tweet.tweet_id}, 
    {$setOnInsert: tweet}, 
    {upsert: true}, 
    function(err, numAffected) { .. }
);

Se já existe um documento com esse id de tweet, isso não é operacional. Caso contrário, ele adicionará o doc.

$setOnInsert requer v2.4+ do MongoDB. Se sua versão for menor que 2.4, as coisas ficam mais complicadas.