mongodb版本3.6

时间:2018-03-09 07:08:37

标签: mongodb clojure monger

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

  

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

谢谢!