温馨提示×

MongoDB中怎么统计两个条件

小亿
104
2024-01-09 23:58:22
栏目: 云计算

在MongoDB中,可以使用$match$group操作符来统计两个条件。以下是一个示例:

假设我们有一个存储用户数据的集合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 }

其中_idnull表示所有匹配文档都被分组到同一个组中,count表示满足条件的文档数量。

0