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

¿Cómo podría escribir agregación sin exceder el tamaño máximo del documento?

De forma predeterminada, el resultado de las agregaciones se le devuelve en un solo documento BSON, que es de donde proviene la restricción de tamaño. Si necesita devolver más que eso, puede:

  • hacer que los resultados se envíen a una colección. Puedes hacer esto al terminar tu canalización con

    {"$out":"nombre-de-una-colección"}

    Luego consulta esa colección como de costumbre (deberá eliminarla usted mismo cuando haya terminado con ella)

  • tener los resultados devueltos como un cursor, especificando useCursor=True cuando llamas agregado.

Ambas opciones requieren mongodb 2.6:si todavía está ejecutando mongodb 2.4, este es solo un límite fundamental de agregaciones.