찾다

 >  Q&A  >  본문

mongodb - mongos aggregation 执行出错

我想用mongo的聚合算个uv,但下面的命令,如图:

报错,aggregation result exceeds maximum document size (16MB)

文档中提到这个问题如图, http://docs.mongodb.org/manual/core/aggregation-pipeline-limits/,

请各位帮忙看看
感谢

PHP中文网PHP中文网2803일 전889

모든 응답(2)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-22 09:01:32

    처리할 데이터가 너무 많습니다. $project를 사용하여 먼저 다음 필드를 선택한 다음 그룹화할 수 있습니다.

    으아악

    회신하다
    0
  • PHPz

    PHPz2017-04-22 09:01:32

    내 컴퓨터에서 다음 데이터를 시도했는데 구문이 정확합니다.

    으아악

    일치 외에도 다음 집계 쿼리를 사용합니다.

    으아악

    결과가 맞습니다

    으아악

    최종 결과는 단 하나의 숫자이기 때문에 이런 오류가 있어서는 안 됩니다. 디버깅 목적으로 파이프라인의 각 단계 결과를 출력하는 것이 좋습니다. 출력할 스텝 뒤에 { $limit: 3 }를 추가하고, 스텝을 따르지 않고 출력을 실행합니다. 데이터가 너무 많아서 결과가 너무 느린 경우에는 처음에 제한을 추가하고 작은 데이터부터 먼저 실행하세요.

    계속해서 변경해서 쉘에서 실행하는 것이 불편하다면 그냥 terminal

    에 파일로 써주시면 됩니다.

    $ mongo < agg_uv.js

    입력 리디렉션은 생략할 수 없습니다. 그렇지 않으면 대화형 모드와는 다소 다른 스크립트 모드로 실행됩니다.

    회신하다
    0
  • 취소회신하다