MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

atualize vários registros usando mongoosejs no nó


Query#update não aceita options parâmetro, mas Model.update faz. Então você gostaria de reescrever isso como:
Page.update({status:'queued'}, {status: 'active'}, {multi: true}, 
    function(err, num) {
        console.log("updated "+num);
    }
);

Não tenho certeza do que você estava tentando fazer com o limit chamada na cadeia, mas você não pode usar isso em uma atualização.

ATUALIZAÇÃO

A consulta acima atualizará todos os documentos em que {status: 'queued'} . Suas únicas opções com update são apenas os primeiros correspondentes {multi: false} ou todas as correspondências {multi: true} .

Parece que você precisa refazer as coisas para tirar os documentos da fila, um de cada vez, e mudar para findOneAndUpdate em vez de update para que você tenha acesso ao documento que atualizou de 'queued' para 'active' .