sql >> Databáze >  >> NoSQL >> MongoDB

aktualizovat více záznamů pomocí mongoosejs v uzlu

Query#update nepřijímá options parametr, ale Model.update dělá. Takže byste to chtěli přepsat jako:

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

Nejsem si jistý, co jste se snažili udělat s limit volání v řetězci, ale nemůžete to použít v aktualizaci.

AKTUALIZACE

Výše uvedený dotaz aktualizuje všechny dokumenty, kde je {status: 'queued'} . Vaše jediné možnosti s update jsou pouze první odpovídající {multi: false} nebo všechny odpovídají {multi: true} .

Zní to, jako byste museli věci přepracovat, abyste postupně odebírali dokumenty z fronty a přepínali na findOneAndUpdate místo update takže máte přístup k dokumentu, který jste aktualizovali z 'queued' na 'active' .




  1. Sdružování připojení ve Spring Boot a mongo db

  2. Jak efektivně ukládat a aktualizovat binární data v Mongodb?

  3. Volali jste uloženou funkci javascriptu z Mongoose?

  4. MongoDB $sampleRate