我的文件看起来是这样的:MongoDB中的聚合框架结合小组和项目
db.hourly.aggregate([
{$match: {timestamp : "2016-05-28"}},
{$unwind: "$price_information.hourly_rates"},
{$group: { _id: "$unique_item_identifier", total_price: { $avg: "$price_information.hourly_rates.price"}}}
]);
我与引进(投影)奋力其他PARAMS:
{
"_id" : ObjectId("5748d1e2498ea908d588b65e"),
"some_item" : {
"_id" : ObjectId("5693afb1b49eb7d5ed97de14"),
"item_property_1" : 1.0,
"item_property_2" : 2.0,
},
"timestamp" : "2016-05-28",
"price_information" : {
"arbitrary_value" : 111,
"hourly_rates" : [
{
"price" : 74.45,
"hour" : "0"
},
{
"price" : 74.45,
"hour" : "1"
},
{
"price" : 74.45,
"hour" : "2"
},
]
}
}
我做了平均通过每天的价格在结果集中。我想在结果集中也有some_item
和timestamp
。我试图在查询中使用$project: {some_item: 1, total_price: 1, ...}
,但那是不对的。
我所需的输出会是这样:
{
"_id" : ObjectId("5693afb1b49eb7d5ed97de27"),
"someItem" : {
"_id" : ObjectId("5693afb1b49eb7d5ed97de14"),
"item_property_1" : 1.0,
"item_property_2" : 2.0,
},
"timestamp" : "2016-05-28",
"price_information" : {
"avg_price": 34
}
}
如果有人可以给我一个提示,如何对项目的分组和其他PARAMS到结果集,我将感谢。
最佳 罗布
非常感谢!很高兴知道,我必须将其纳入其中。我不会那样做的! –