MongoDBで2つの条件を統計する方法は何ですか?

MongoDBでは、$matchと$group演算子を使用して2つの条件を集計することができます。以下に例を示します。

ユーザーデータを保存するためのコレクションである「users」があると仮定します。各ユーザードキュメントには、年齢を表す「age」フィールドと性別を表す「gender」フィールドがあります。

20歳から30歳の女性ユーザーの数を集計するためには、次の結合パイプライン操作を使用できます。

db.users.aggregate([
  {
    $match: {
      age: { $gte: 20, $lte: 30 },
      gender: "female"
    }
  },
  {
    $group: {
      _id: null,
      count: { $sum: 1 }
    }
  }
])

上記の例では、まず$match操作子を使用して、条件を満たすユーザードキュメント(年齢が20歳から30歳で女性)を選択し、それから$group操作子を使用して、マッチしたドキュメントを新しいドキュメントにグループ化して、条件を満たすドキュメントの数を計算します。

結果は以下のようになります:

{ "_id" : null, "count" : 3 }

_idがnullの場合、すべての一致するドキュメントが同じグループに分類され、countは条件を満たすドキュメントの数を示します。

bannerAds