ホームページ  >  に質問  >  本文

mongodb - mongos aggregation 执行出错

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

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

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

请各位帮忙看看
感谢

PHP中文网PHP中文网2738日前822

全員に返信(2)返信します

  • 天蓬老师

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

    データが多すぎて処理できません。 $project を使用して、最初に次のフィールドを選択してからグループ化できます。

    リーリー

    返事
    0
  • PHPz

    PHPz2017-04-22 09:01:32

    構文は正しいです。私のマシンで次のデータを試しました。 リーリー

    一致に加えて、次の集計クエリを使用します:

    リーリー

    結果は正しいです

    リーリー

    最終結果は1つの数字だけなので、そのようなエラーは発生しないはずです。デバッグの目的で、パイプラインの各ステップの結果を出力することをお勧めします。出力するステップの後に { $limit: 3 } を追加し、後続のステップを省略して出力を実行します。データが多すぎて結果が遅すぎる場合は、最初に制限を追加し、最初に小さいデータで実行します。

    { $limit: 3 } ,不要之后的步骤,运行输出。如果数据太多,结果太慢,在最开始加个limit,先在小数据跑跑看。

    改来改去再到shell里运行如果不方便,就写到文件里,在terminal

    $ mongo < agg_uv.js何度も変更してシェルで実行するのが不便な場合は、ターミナルでファイルに書き込んでください

    $ mongo

    🎜入力リダイレクトは省略できません。省略しないと、対話モードとは多少異なるスクリプト モードで実行されます。 🎜

    返事
    0
  • キャンセル返事