Tengo una base de datos de 50 000 usuarios y necesito recorrer cada uno y actualizarlos con algunos valores dinámicos por usuario.
he intentado usar
users.find({}).forEach((user) => { console.log('Some code.') })Pero dice que forEach no es una función; según la investigación, parece que esta es una función mongodb pero no una función mongoose.
Intenté usar solo find({}) pero, por supuesto, los resultados se basarán en el cursor y, en realidad, tampoco consola. registra nada para mí.
También intenté usar .stream() , pero eso tampoco devuelve una función y también intenté usar .batchSize(100) pero eso tampoco devuelve nada en el registro de la consola durante la prueba.
He buscado en updateMany pero eso solo es bueno para actualizar el mismo valor estático en un campo.
Estoy un poco perdido sobre cómo proceder de una manera eficaz. ¿Algunas ideas?
Gracias,
La función Model.find() devuelve una promesa, no una matriz.
Deberá usar await o una devolución de llamada para ejecutar realmente la búsqueda y recuperar la matriz de resultados antes de iterar.