我用MongoDB来计算汽车引擎尺寸的平均值。但是,aggregate average函数始终返回null。
数据库的一部分如下:
{ "_id" : 1, "car" : { "engineSize" : 1.5 }, "addresses" : [ "X", "A" ] }
{ "_id" : 6, "car" : { "engineSize" : 1.5 }, "addresses" : [ "X" ] }
{ "_id" : 2, "car" : { "engineSize" : 1.3 } }
{ "_id" : 5, "car" : { "engineSize" : 1.4 } }
{ "_id" : 3, "car" : { "engineSize" : 1 } }
我用来检查平均值的命令是:
db.project.aggregate([{$group : {_id: null, Average: {$avg: "$engineSize"}}}])
但是,当我运行此命令时,它将返回:
{ "_id" : null, "Average" : null }
关于如何让它返回正确的值(即1.24)有什么建议吗?
最佳答案
您聚合的字段不正确。一定是
db.collection.aggregate([
{
"$group": {
"_id": null,
"Average": {
"$avg": "$car.engineSize"
}
}
}
])