Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

408
Vistas
Mongoose / MongoDB: actualice varios documentos con diferentes _id y valores en una sola instrucción

Estoy buscando una forma de actualizar varios documentos de MongoDB en una sola instrucción. Soy consciente de que hay una consulta updateMany(), pero requiere un parámetro de filtro estricto para actualizar varios documentos.

Tengo una serie de objetos que me gustaría actualizar así:

 const objectsToUpdate = [ { _id : 1, field : "a" }, { _id : 2, field : "b" }, { _id : 3, field : "c" } ]

La matriz se basa en un archivo que recupero de un servidor FTP. Compruebo este archivo con la base de datos y lo completo si hay diferencias. Podría iterar a través de la matriz y realizar la consulta findOneAndUpdate() pero tengo que manejar hasta 5000 documentos en una tarea.

Estoy buscando la contraparte de actualización de insertMany() donde los documentos se buscan por _id y se actualizan en una sola consulta. ¿Es esto factible con Mongoose?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede usar bulkWrite que sería más rápido que múltiples updateOne ya que solo hay un viaje de ida y vuelta a MongoDB.

 const bulkOps = objectsToUpdate.map(obj => { return { updateOne: { filter: { _id: obj._id }, // If you were using the MongoDB driver directly, you'd need to do // `update: { $set: { field: ... } }` but mongoose adds $set for you update: { field: obj[field] } } } }) MongooseModel.bulkWrite(bulkOps).then((res) => { console.log("Documents Updated", res.modifiedCount) })
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda