2013-07-28 30 views
0

我需要在由Grails 1.3.7支持的應用中實現一些簡單的聚合。 1.0.0.RC3的mongodb-plugin附帶了gmongo 0.9.1,其中沒有實現聚合函數。gmongo中的聚合0.9.1

我該如何解決問題?是否有任何鉤子直接調用java-mongo API,或者有其他一些允許聚合的插件版本?

TIA

回答

0

所以,我成功了!

用少量的血液流下,我發現一種方法來使用聚合在gmongo 0.9.1/mongodb 1.0.0.RC3/Grails 1.3.7!

HOWTO:

  1. 你需要用較新的版本替換蒙戈-Java的應用程序(我用的是最新的2.9.3現在)。在Grails的它看起來像:

    依賴{ 編譯「org.mongodb:蒙戈的Java驅動程序:2.9.3」 }

  2. 自舉或在我的情況插件描述符中添加以下行:

    DBCollectionPatcher.PATCHED_METHODS < < '總'

  3. 聚集調用看起來像:

    個DEF解析度= Task.collection.aggregate([$組:[_id: 'TOTALTIME',時間:[$總和: '$時間']]],[]爲DBOBJECT)。結果()

,它的功能就像一個魅力!

1

看來,由於2.1 here存在蒙戈聚集的API,也許你可能需要升級你的庫。 下面是正在討論訪問低級API的mongodb插件documentation。對於Grails 1.3.7,請參閱此blog以瞭解如何將更多最近的mongo庫添加到您的Grails應用程序中,並且此post似乎也有相同的問題。

希望它有幫助。

0

聚合僅適用於GMongo 1.0+。

0

好吧,現有的gmongo/mongo-GORM似乎是不可能的。有太多的版本衝突:不同的mongo java驅動程序,不同的常規版本等。我看到很多ClassNotFoundExceptions和類似的。

幸運的是,我現在不需要的聚合功能,所以我就等着升級到Grails的2.x和蒙戈 - 格姆1.3 ++後