MongoDB统计每个专业男女生的人数
时间: 2024-10-13 14:00:16 浏览: 52
在MongoDB中,如果你想统计每个专业的男生和女生人数,你需要首先确保你的数据集有一个包含专业信息以及性别字段的文档结构。假设有一个名为`students`的集合,其中每个文档表示一个学生,具有`major`(专业)和`gender`(性别)字段。
你可以编写一个查询,利用聚合框架(Aggregation Framework)来达成这个目标。以下是一个基本的示例:
```javascript
db.students.aggregate([
{ $group: {
_id: "$major", // 按专业分组
maleCount: { $sum: { $cond: [ { $eq: ["$gender", "male"] }, 1, 0 ] } },
femaleCount: { $sum: { $cond: [ { $eq: ["$gender", "female"] }, 1, 0 ] } }
}}
])
```
这个查询做了两步:
1. `$group`阶段按专业 `_id` 分组,并计算出每组中男生(`$cond`检查`gender`是否等于"male")和女生(`$cond`检查`gender`是否等于"female")的数量。
2. `aggregate`函数返回一个结果数组,每个元素都是一个文档,包含了专业名称和对应的男女生人数。
执行这个查询后,你会得到每个专业的男女生人数汇总。
阅读全文