首页 文章

对于mongodb版本3.6,聚合不与monger一起使用

提问于
浏览
0

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

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

  • 0

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

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

    谢谢!

相关问题