sql >> Database teknologi >  >> NoSQL >> MongoDB

opdater flere poster ved hjælp af mongoosejs i node

Query#update accepterer ikke options parameter, men Model.update gør. Så du vil gerne omskrive dette som:

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

Jeg er ikke sikker på, hvad du forsøgte at gøre med limit ring i kæden, men det kan du ikke bruge i en opdatering.

OPDATERING

Ovenstående forespørgsel vil opdatere alle dokumenter, hvor {status: 'queued'} . Dine eneste valg med update er kun den første matchende {multi: false} eller alle matcher {multi: true} .

Det lyder som om du skal omarbejde tingene for at fjerne dokumenter fra din kø én ad gangen og skifte til findOneAndUpdate i stedet for update så du har adgang til det dokument, du har opdateret fra 'queued' til 'active' .




  1. Hvordan får man Redis til at starte på Heroku?

  2. 2 måder at slette en samling i MongoDB

  3. MongoDB indsats uden dubletter

  4. Ember-data og MongoDB, hvordan man håndterer _id