2017-04-10 41 views
0

号我试图计算谁是出生在使用下面的管道特定年的用户数。集团在MongoDB的总框架

{"$group": {"_id": "$birthdayYear", "count": {"$sum": 1}}} 

但我得到的是下面的,所有的年都是和,蒙戈没有一个$count功能,所以我能做些什么来组基础上,今年的用户数他们出生的?

样品文件

{ 
    "_id" : "LrN2tAK4rtyhsYFbr", 
    "firstName" : "abc", 
    "lastName" : "", 
    "birthdayDay" : 5, 
    "birthdayMonth" : 8, 
    "birthdayYear" : 1984, 
} 

/* 1 */

{ 
    "_id" : "birthDayYear", 
    "count" : 5550.0 
} 
+1

你可以发布一个文档的例子吗? –

+0

根据您发布的示例文档,您的查询中存在拼写错误:应该是'$ birthdayYear'而不是'$ birthYear' – felix

回答

0

我已插入2个文件到用户的集合

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 } 
0

请检查您的总语句的语法 - 我相信下面显示了预期的效果:

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 
}