【问题标题】:MongoDB Aggregate framework ErrorMongoDB聚合框架错误
【发布时间】:2016-09-08 14:22:45
【问题描述】:

我有一个具有这种结构的集合:

{ "_id" : "01002", "city" : "CUSHMAN", "loc" : [ -72.51564999999999, 42.377017 ], "pop" : 36963, "state" : "MA" }

我想使用聚合框架来执行这个查询:

db.US.aggregate([{$group:{_id:{"state":"$state"}}, sum:{$sum:"$pop"}}])

我收到此错误: “命令‘聚合’失败:异常:管道阶段规范对象必须包含一个字段。(响应:{“errmsg”:“异常:管道阶段规范对象必须包含一个字段。”,“代码” : 16435, "ok" : 0.0 })"

我得到这个错误的方式,它看起来很简单 谁能帮忙 谢谢

【问题讨论】:

    标签: mongodb shell aggregation-framework


    【解决方案1】:

    是的,你的括号有点不正常。

    db.US.aggregate([{$group:{_id:{"state":"$state"}}, sum:{$sum:"$pop"}}])
    

    改为:

    db.US.aggregate([{$group:{_id:{"state":"$state"}, sum:{$sum:"$pop"}}}])
    

    编辑:实际上这样更好:

    db.US.aggregate([
        {$group:{_id:"$state", sum:{$sum:"$pop"}}}
    ])
    

    因为它会生成一个平面文档而不是一个 id 数组:

    { "_id" : "MA", "sum" : 36963 }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-20
      • 2012-09-24
      • 2021-06-15
      • 1970-01-01
      • 2015-12-21
      • 2013-05-29
      • 1970-01-01
      相关资源
      最近更新 更多