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

175
Vistas
¿Cómo administrar los errores en el script de actualización masiva con MongoDB y javascript?

Actualmente tengo un script que actualiza los datos en un sitio web mediante llamadas API. Recorro todos los productos en mi base de datos y hago mis llamadas API para actualizar los datos en el sitio web.

A veces ocurre un error en medio de la ejecución del script, por lo que no puedo completar todas las actualizaciones ya que no puedo revisar todos los productos en la base de datos. Y cuando reinicio mi secuencia de comandos, siempre comienza desde el principio (primeros productos en la base de datos), por lo que nunca completo mi actualización masiva.

¿Cómo puedo continuar con las actualizaciones después de que se produzca un error? Por ejemplo, si se produjo un error en el producto número 10, ¿cómo puedo seguir realizando las actualizaciones para el producto número 11 sin reiniciar mi secuencia de comandos desde el principio? ¿Existe una función mongoDb que rastree los errores?

Soy un principiante y estoy tratando de entender la lógica de las actualizaciones masivas. Pensé en guardar la identificación de los productos donde ocurrió el error y luego comenzar a actualizar después de esta identificación. Pero estoy seguro de que existe un procedimiento estándar para administrar los errores y fallas de las actualizaciones masivas.

Estoy usando javascript, nodeJS y cron para mi script.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cuando realiza una actualización masiva, recibe errores en BulkWriteError y, si se ordena la operación, dejará de ejecutarse.

En primer lugar, divida sus actualizaciones en algunos lotes que pueden ser 1000 o menos o más dependiendo de cuántas tenga en total.

En segundo lugar, ejecutar las actualizaciones por lotes sin orden mejora el rendimiento ya que la próxima actualización no espera a que finalice la actual.

 db.collection.bulkWrite( [ { insertOne : <document> }, { updateOne : <document> }, { updateMany : <document> }, ], { ordered : false } )

En tercer lugar, verifique si hay errores para los identificadores y envíelos al siguiente lote que cree o mantenga todos los errores en un lote y ejecútelo una vez que complete todas las actualizaciones masivas.

Estamos siguiendo el mismo enfoque para más de 100 000 registros y hoy funciona bien. Si usted o alguien más tiene una solución mejor, definitivamente la escucharía y la implementaría.

about 4 years ago · Juan Pablo Isaza 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