代码之家  ›  专栏  ›  技术社区  ›  Clauric

MongoDB平均返回空值

  •  2
  • Clauric  · 技术社区  · 5 年前

    数据库的一部分如下:

     { "_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)有什么建议吗?

    1 回复  |  直到 5 年前
        1
  •  2
  •   Ashh    5 年前

    您聚合的字段不正确。一定是

    db.collection.aggregate([
      {
        "$group": {
          "_id": null,
          "Average": {
            "$avg": "$car.engineSize"
          }
        }
      }
    ])