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

mettre à jour plusieurs enregistrements à l'aide de mongoosejs dans le nœud

Query#update n'accepte pas les options paramètre, mais Model.update Est-ce que. Donc, vous voudriez réécrire ceci comme :

Page.update({status:'queued'}, {status: 'active'}, {multi: true}, 
    function(err, num) {
        console.log("updated "+num);
    }
);

Je ne sais pas ce que vous essayez de faire avec la limit appeler dans la chaîne, mais vous ne pouvez pas l'utiliser dans une mise à jour.

MISE À JOUR

La requête ci-dessus mettra à jour tous les documents où {status: 'queued'} . Vos seuls choix avec update ne sont que les premiers correspondants {multi: false} ou toutes les correspondances {multi: true} .

On dirait que vous devez retravailler les choses pour retirer les documents de votre file d'attente un par un et passer à findOneAndUpdate au lieu de update vous avez donc accès au document que vous avez mis à jour depuis 'queued' à 'active' .