我需要实现我的应用程序的一些简单的聚合搭载的Grails 1.3.7。 的1.0.0.RC3附带gmongo 0.9.1,其中聚合函数不落实MongoDB的的插件。
我怎样才能解决这个问题? 是否有任何挂钩调用Java的API蒙哥直接,也许有一些其他的插件版本,允许聚合?
TIA
我需要实现我的应用程序的一些简单的聚合搭载的Grails 1.3.7。 的1.0.0.RC3附带gmongo 0.9.1,其中聚合函数不落实MongoDB的的插件。
我怎样才能解决这个问题? 是否有任何挂钩调用Java的API蒙哥直接,也许有一些其他的插件版本,允许聚合?
TIA
看来,由于存在2.1蒙戈聚集的API 在这里 ,也许你可能需要升级你的库。 这里是MongoDB的插件文件被谈论访问底层API。 Grails的1.3.7采取在这个博客上如何添加更近蒙戈库到您的Grails应用程序的细节和该职位似乎有同样的问题。
希望能帮助到你。
聚集仅在GMongo 1.0+工作。
嗯,这似乎是不可能与现有gmongo /蒙戈 - 格姆做到这一点。 有太多的版本冲突:不同蒙戈Java驱动程序,不同常规版本等我看到很多ClassNotFoundExceptions和一致好评。
幸运的是,我现在不需要的聚合功能,所以我就等着升级到Grails的2.x和蒙戈 - 格姆1.3 ++后
所以,我成功了!
与流血的少量,我找到了一种方法gmongo 0.9.1 / MongoDB的1.0.0.RC3 / Grails的1.3.7使用聚合!
如何:
你需要用较新版本替换蒙戈-Java的应用程序(我用的是最新的2.9.3现在)。 在Grails的它看起来像:
依赖{编译 'org.mongodb:蒙戈的Java驱动程序:2.9.3'}
在引导或在我的情况插件描述符中添加以下行:
DBCollectionPatcher.PATCHED_METHODS << '聚集'
聚集调用是这样的:
DEF解析度= Task.collection.aggregate([$组:[_id: 'TOTALTIME',时间:[$总和: '$时间']]],[]为DBOBJECT)。结果()
和它的作品就像一个魅力!