我正在使用MongoDB来获取汽车引擎尺寸的平均值。但是,聚合的平均值函数始终返回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)的任何建议?
答案 0 :(得分:2)
您正在汇总错误的字段。一定是
db.collection.aggregate([
{
"$group": {
"_id": null,
"Average": {
"$avg": "$car.engineSize"
}
}
}
])