【问题标题】:Aggregation not working with monger for mongodb version 3.6聚合不适用于 mongodb 3.6 版的 monger
【发布时间】:2018-08-17 16:56:07
【问题描述】:

Mongo 聚合框架有一些 changes in version 3.6 即使我们将 :cursor {} 作为选项传递,早期使用 monger 的聚合查询也不起作用。是否有任何解决方法,或者我们必须等待下一个贩售者发布?我们得到的错误在下面指定

MongoCommandException 命令失败,出现错误 9:服务器 localhost:27017 上的“需要 'cursor' 选项,带有解释参数的聚合除外”。完整的响应是 { "ok" : 0.0, "errmsg" : "'cursor' 选项是必需的,除了带有解释参数的聚合", "code" : 9, "codeName" : "FailedToParse" } com.mongodb .connection.ProtocolHelper.getCommandFailureException (ProtocolHelper.java:115)

【问题讨论】:

    标签: mongodb clojure monger


    【解决方案1】:

    根据 mongo db 规范,光标在某些情况下成为必填字段。所以你应该通过monger API提供它。这不是 monger 的问题,这是 mongo db API 中的一个可破坏的更改。

    【讨论】:

      【解决方案2】:

      根据 OSt 的建议,我可以使用以下代码运行 monger aggregation sample

      (mc/aggregate db coll
          [{"$project" {:subtotal {"$multiply" ["$quantity", "$price"]}
                        :_id "$state"}}]
          :cursor {:batch-size 0})
      

      谢谢!

      【讨论】:

        猜你喜欢
        • 2018-11-20
        • 2017-08-03
        • 2021-04-20
        • 2013-06-24
        • 2020-12-30
        • 1970-01-01
        • 1970-01-01
        • 2020-12-22
        • 2019-06-04
        相关资源
        最近更新 更多