我试图使用以下管道计算在特定年份出生的用户的数量。
{"$group": {"_id": "$birthdayYear", "count": {"$sum": 1}}}但是我得到的是,所有年份都是sum,而Mongo没有$count函数,那么我能做些什么来根据用户出生的年份对用户进行分组呢?
示例文档
{
"_id" : "LrN2tAK4rtyhsYFbr",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984,
}/* 1 */
{
"_id" : "birthDayYear",
"count" : 5550.0
}发布于 2017-04-10 06:08:11
我已经将两个文档插入到用户集合中。
db.users.insert({ "_id" : "LrN2tAK4rtyhsYFbs", "firstName" : "test", "lastName" : "1", "birthdayDay" : 5, "birthdayMonth" : 8, "birthdayYear" : 1984})
db.users.insert({ "_id" : "LrN2tAK4rtyhsYFbr", "firstName" : "test", "lastName" : "2", "birthdayDay" : 6, "birthdayMonth" : 9, "birthdayYear" : 1984})并运行以下查询
db.users.aggregate([{$group: {"_id": "$birthdayYear", count: {$sum:1}} }])得到了结果
{ "_id" : 1984, "count" : 2 }发布于 2017-04-10 06:08:40
请检查聚合语句的语法--我相信下面显示了所需的结果:
db.tstso1.aggregate([{$group : {_id : "$birthdayYear", count: { $sum: 1 }}}])结果:
{ "_id" : 1986, "count" : 2 }
{ "_id" : 1985, "count" : 3 }
{ "_id" : 1984, "count" : 6 }文档:
see.pretty();
{
"_id" : "LrN2tAK4rtyhsYFbr",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984
}
{
"_id" : "2",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984
}
{
"_id" : "3",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984
}
{
"_id" : "4",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984
}
{
"_id" : "6",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984
}
{
"_id" : "7",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1984
}
{
"_id" : "12",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1985
}
{
"_id" : "13",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1986
}
{
"_id" : "14",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1985
}
{
"_id" : "16",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1986
}
{
"_id" : "17",
"firstName" : "abc",
"lastName" : "",
"birthdayDay" : 5,
"birthdayMonth" : 8,
"birthdayYear" : 1985
}https://stackoverflow.com/questions/43314929
复制相似问题