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

Aktualisieren Sie mehrere Datensätze mit Mongoosejs im Knoten

Query#update akzeptiert keine options -Parameter, aber Model.update tut. Sie möchten dies also umschreiben als:

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

Ich bin mir nicht sicher, was Sie mit dem limit bezwecken wollten Anruf in der Kette, aber Sie können das nicht in einem Update verwenden.

AKTUALISIEREN

Die obige Abfrage aktualisiert alle Dokumente, in denen {status: 'queued'} . Ihre einzige Wahl mit update sind nur die ersten übereinstimmenden {multi: false} oder alle Übereinstimmungen {multi: true} .

Klingt so, als müssten Sie Dinge überarbeiten, um Dokumente einzeln aus Ihrer Warteschlange zu entfernen und zu findOneAndUpdate statt update Sie haben also Zugriff auf das Dokument, das Sie von 'queued' aktualisiert haben zu 'active' .