2017-04-10 42 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 
}