【发布时间】:2015-05-13 05:38:56
【问题描述】:
我有一个聚合来从“分享”操作的集合中提取指标。这些指标按天和平台(twitter、pintrest 等)分组。每个阶段都可以正常工作,除非在$project 阶段中格式化输出,我似乎无法将platform 字符串投射到我的输出中。我仍然在 _id 中看到它,但是我无法将其投影到其他字段。
聚合如下:
{
$unwind: "$platforms"
},
{
$project: {
day: {$dayOfMonth: "$created_at"},
month: {$month: "$created_at"},
year: {$year: "$created_at"},
platforms: 1
}
},
{
$group: {
_id: {
platorms: "$platforms",
day: "$day",
month: "$month",
year: "$year"
},
count: {$sum: 1}
}
},
{
$project: {
day: "$_id.day",
month: "$_id.month",
year: "$_id.year",
platform: "$_id.platforms",
count: 1
}
}
下面的输出是:
{
"result" : [
{
"_id" : {
"platorms" : "EMAIL",
"day" : 28,
"month" : 4,
"year" : 2015
},
"count" : 1,
"day" : 28,
"month" : 4,
"year" : 2015
},
{
"_id" : {
"platorms" : "EMAIL",
"day" : 27,
"month" : 4,
"year" : 2015
},
"count" : 10,
"day" : 27,
"month" : 4,
"year" : 2015
},
{
"_id" : {
"platorms" : "SMS",
"day" : 27,
"month" : 4,
"year" : 2015
},
"count" : 1,
"day" : 27,
"month" : 4,
"year" : 2015
},
{
"_id" : {
"platorms" : "FACEBOOK",
"day" : 27,
"month" : 4,
"year" : 2015
},
"count" : 1,
"day" : 27,
"month" : 4,
"year" : 2015
}, ...
日、月、年的整数项目很好,但平台不行。
【问题讨论】:
标签: node.js mongodb mongodb-query