我正在尝试在一个包含多个不同摩托车品牌和每个品牌型号的MongoDB数据库上执行聚合查询。我的第一次查询,获取所有本田(Honda)摩托车的平均价格已经成功。
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 }
有什么想法可以让我按照自己的方式列出它,例如在那里加入类型名称?