sql >> Base de Datos >  >> NoSQL >> MongoDB

actualizar múltiples registros usando mongoosejs en el nodo

Query#update no acepta una options parámetro, pero Model.update lo hace. Así que querrás reescribir esto como:

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

No estoy seguro de lo que intentabas hacer con el limit llama en la cadena, pero no puedes usar eso en una actualización.

ACTUALIZAR

La consulta anterior actualizará todos los documentos donde {status: 'queued'} . Tus únicas opciones con update son solo los primeros que coinciden {multi: false} o todas las coincidencias {multi: true} .

Parece que necesita modificar las cosas para eliminar los documentos de la cola de uno en uno y cambiar a findOneAndUpdate en lugar de update para que tenga acceso al documento que ha actualizado desde 'queued' a 'active' .