mongodb统计各班的人数及男女人数。
[{ "_id": "1", "name": "学生1", "class": "1", "sex": "女"},
{ "_id": "2", "name": "学生2", "class": "2", "sex": "男"},
{ "_id": "3", "name": "学生3", "class": "3", "sex": "女"},
{ "_id": "4", "name": "学生4", "class": "1", "sex": "男"},
{ "_id": "5", "name": "学生5", "class": "2", "sex": "男"},
{ "_id": "6", "name": "学生6", "class": "3", "sex": "男"},
{ "_id": "7", "name": "学生7", "class": "1", "sex": "女"},
{ "_id": "8", "name": "学生8", "class": "2", "sex": "男"},
{ "_id": "9", "name": "学生9", "class": "3", "sex": "男"},
{ "_id": "10", "name": "学生10", "class": "1", "sex": "男"},
{ "_id": "11", "name": "学生11", "class": "2", "sex": "男"},
{ "_id": "12", "name": "学生12", "class": "3", "sex": "男"}]
[ {
$group: {
_id: {
'class': '$class',
sex: '$sex'
},
count: {
$sum: 1
}
}
}]
[{'class':1,'男':2,'女':2,'人数':4},
{'class':2,'男':4,'女':0,'人数':4},
{'class':3,'男':3,'女':1,'人数':4}]
这个好像没法一下求出来吧
"{""_id"": ""2"", ""sex"": 4}"
"{""_id"": ""3"", ""sex"": 4}"
"{""_id"": ""1"", ""sex"": 4}"
没写过,刚刚试了,我只能分开求
db.kb.aggregate([
{
$group: {
_id: '$class', // _id: null表示全选
sex: {'$sum': 1}
}
}
])