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

Ver el progreso del trabajo de agregación mongodb de larga ejecución

Si usa el $out operador de canalización de agregación para enviar el resultado de la agregación a otro (o lo mismo ), puede abrir un nuevo mongo shell y ver cuántos documentos hay en la nueva colección. Si está sobrescribiendo la colección desde la que está agregando, MongoDB usará un nombre de colección temporal para hacer que la operación sea atómica, como tmp.agg_out.1 . Entonces, corre

db['tmp.agg_out.1'].count()

Para averiguar el nombre exacto de la colección temporal, puede seguir el registro actual de MongoDB log y esté atento a los mensajes sobre la agregación. mLab y otros proveedores de alojamiento MongoDB en la nube también pueden tener una práctica opción de "transmitir registro actual".

Por ejemplo, al ejecutar la consulta en esta respuesta , los mensajes de registro relevantes pueden verse así:

(Esperaba que nInserted o keysInserted indicaría progreso, pero ese no parece ser el caso; el conteo de los documentos en la colección temporal fue un indicador de progreso mucho más preciso.)