MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como eu poderia escrever agregação sem exceder o tamanho máximo do documento?


Por padrão, o resultado das agregações é retornado a você em um único documento BSON, de onde vem a restrição de tamanho. Se você precisar devolver mais do que isso, você pode:

  • fazer com que os resultados sejam enviados para uma coleção. Você faz isso terminando seu pipeline com

    {"$out":"nome-de-algum-coleção"}

    Você então consulta essa coleção normalmente (você precisará excluí-la quando terminar)

  • ter os resultados retornados como um cursor, especificando useCursor=True quando você chama agregado.

Ambas as opções requerem o mongodb 2.6:se você ainda estiver executando o mongodb 2.4, este é apenas um limite fundamental de agregações.