我需要在由Grails 1.3.7支持的應用中實現一些簡單的聚合。 1.0.0.RC3的mongodb-plugin附帶了gmongo 0.9.1,其中沒有實現聚合函數。gmongo中的聚合0.9.1
我該如何解決問題?是否有任何鉤子直接調用java-mongo API,或者有其他一些允許聚合的插件版本?
TIA
我需要在由Grails 1.3.7支持的應用中實現一些簡單的聚合。 1.0.0.RC3的mongodb-plugin附帶了gmongo 0.9.1,其中沒有實現聚合函數。gmongo中的聚合0.9.1
我該如何解決問題?是否有任何鉤子直接調用java-mongo API,或者有其他一些允許聚合的插件版本?
TIA
所以,我成功了!
用少量的血液流下,我發現一種方法來使用聚合在gmongo 0.9.1/mongodb 1.0.0.RC3/Grails 1.3.7!
HOWTO:
你需要用較新的版本替換蒙戈-Java的應用程序(我用的是最新的2.9.3現在)。在Grails的它看起來像:
依賴{ 編譯「org.mongodb:蒙戈的Java驅動程序:2.9.3」 }
自舉或在我的情況插件描述符中添加以下行:
DBCollectionPatcher.PATCHED_METHODS < < '總'
聚集調用看起來像:
個DEF解析度= Task.collection.aggregate([$組:[_id: 'TOTALTIME',時間:[$總和: '$時間']]],[]爲DBOBJECT)。結果()
,它的功能就像一個魅力!
看來,由於2.1 here存在蒙戈聚集的API,也許你可能需要升級你的庫。 下面是正在討論訪問低級API的mongodb插件documentation。對於Grails 1.3.7,請參閱此blog以瞭解如何將更多最近的mongo庫添加到您的Grails應用程序中,並且此post似乎也有相同的問題。
希望它有幫助。
聚合僅適用於GMongo 1.0+。
好吧,現有的gmongo/mongo-GORM似乎是不可能的。有太多的版本衝突:不同的mongo java驅動程序,不同的常規版本等。我看到很多ClassNotFoundExceptions和類似的。
幸運的是,我現在不需要的聚合功能,所以我就等着升級到Grails的2.x和蒙戈 - 格姆1.3 ++後