sql >> Database >  >> NoSQL >> MongoDB

update meerdere records met behulp van mongoosejs in node

Query#update accepteert geen options parameter, maar Model.update doet. Dus je zou dit willen herschrijven als:

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

Ik weet niet zeker wat je probeerde te doen met de limit aanroepen in de keten, maar dat kun je niet gebruiken in een update.

UPDATE

De bovenstaande query werkt alle documenten bij waar {status: 'queued'} . Uw enige keuzes met update zijn slechts de eerste overeenkomende {multi: false} of alle overeenkomsten {multi: true} .

Het klinkt alsof je dingen moet herwerken om documenten één voor één uit je wachtrij te halen en over te schakelen naar findOneAndUpdate in plaats van update zodat u toegang heeft tot het document dat u heeft bijgewerkt vanuit 'queued' naar 'active' .




  1. Hoe kan ik oudere records uit een collectie in MongoDB verwijderen?

  2. Mongo-aggregatieraamwerk:wat is het slotniveau van de $out-operatie in de laatste fase?

  3. tar gzip mongo dump zoals MySQL

  4. Mongo ObjectId (_id) genereren met aangepaste tijd?