web-dev-qa-db-ja.com

Meteor-Mongoアグリゲートには$ countステージがありません

MeteorでMongoアグリゲーションを行うために meteorhacks:aggregate パッケージを使用しています。パイプラインの最終段階でカウントを取得したいので、次のコードを使用します。

Message.aggregate([
  {
    $match: {
      // ...
    }
  }, {
    $count: 'count'
  }
]);

これは非常に単純で機能するはずですが、次のエラーしか発生しません。

Exception while invoking method 'methodname' 
MongoError: Unrecognized pipeline stage name: '$count'
...

助けてください、ありがとう。

更新:この質問は、編集者が提案したように複製されていません。私の主な目的は、$countを使用できない理由を見つけることです。

12
kkkkkkk

$countはmongodbバージョン3.4で利用できます。以前のバージョンでは、定数フィールドに対して$groupを使用する必要があります。

Message.aggregate([
  {
    $match: {
      // ...
    }
  }, {
    $group: {
      _id : null, 
      count : {$sum : 1}
    }
  }
]);
27
ares