【发布时间】:2017-04-04 17:40:00
【问题描述】:
我正在尝试对 MongoDB 数据库进行聚合查询,该数据库包含不同品牌的摩托车和每种摩托车类型的列表。我的第一个查询,获得所有本田的平均价格是有效的
db.bikes.aggregate([
{ $match: { Make: 'Honda' } },
{
$group: {
_id: '$Type',
avgcost: { $avg: '$Price' }
}
},
{
$group: {
_id: '$_id.Type',
maxavg: { $max: '$avgprice' }
}
}
])
给予
{ "_id" : "VFR700", "avgprice" : 3765.23 }
{ "_id" : "Fireblade", "avgprice" : 4816.27 }
{ "_id" : "CB1000", "avgprice" : 3993.26 }
{ "_id" : "Goldwing", "avgprice" : 4193.22 }
然后我尝试进行另一个查询,以获取本田自行车的最高平均价格(即 Fireblade,“avgprice”:4816)。
我正在使用以下查询:
db.bikes.aggregate([
{ $match: { Make: 'Honda' } },
{
$group: {
_id: '$Type',
avgcost: { $avg: '$Price' }
}
},
{
$group: {
_id: '$_id.Type',
maxavg: { $max: '$avgprice' }
}
}
])
但是我得到了
{ "_id" : null, "maxavg" : 4816.27 }
我有什么想法可以按我的意愿列出它,即里面也有类型名称吗?
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework