Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在grails中使用mongodb的聚合框架_Java_Mongodb_Grails_Aggregation Framework - Fatal编程技术网

Java 在grails中使用mongodb的聚合框架

Java 在grails中使用mongodb的聚合框架,java,mongodb,grails,aggregation-framework,Java,Mongodb,Grails,Aggregation Framework,我的应用程序在grails2.3.7中,我使用mongodb作为数据存储。我有一个用例,需要使用聚合框架从数据库中获取和过滤数据。我可以使用java mongodb驱动程序轻松地完成这项工作。但是如何使用mongodb grails插件实现同样的效果呢?我能够获取数据并应用标准筛选出结果。但我无法运行聚合管道。有什么线索吗?版本的mongo插件。3.0.0应具有聚合支持。 如果您有一些限制,请查看如何在Grails 2.x之前的版本中启用聚合。在控制器中,如果添加类型为com.mongodb.M

我的应用程序在
grails2.3.7
中,我使用
mongodb
作为数据存储。我有一个用例,需要使用
聚合框架
从数据库中获取和过滤数据。我可以使用java mongodb驱动程序轻松地完成这项工作。但是如何使用mongodb grails插件实现同样的效果呢?我能够获取数据并应用标准筛选出结果。但我无法运行聚合管道。有什么线索吗?

版本的mongo插件。3.0.0应具有
聚合
支持。

如果您有一些限制,请查看如何在Grails 2.x之前的版本中启用聚合。在控制器中,如果添加类型为
com.mongodb.Mongo
Mongo
字段,则会自动注入该字段,然后只需使用与驱动程序相同的API即可执行所需的任何聚合:

Mongo mongo
def testMongo() {
   DB myDb = mongo.getDB("foo")
   // do stuff with DB
}

是的,我现在正在做这个。但我想知道这是否会导致每个请求都获得DB连接。假设我将其添加到控制器中。我不希望每次收到请求时都获取新的DB连接。3.0.0聚合支持的文档在哪里?我刚刚检查了文档,虽然他们说已经包括在内了,但是没有关于新功能如何工作的任何信息!因此,典型的Grails Mongo插件和聚合支持文档可以在Mongo站点上找到(还有其他地方吗?)。在groovy代码中,您必须使用“低级符号”
YourDomain.collection.aggregate([:],[:])
,在他们的更改日志中引用“使用MongoDB聚合的投影支持”,这听起来像是他们开发了比GMongo已经开发的更高的东西。如果这真的是全部,那么关于这真正意味着什么的一些细节就是所有需要的(即聚合框架见GMongo)来消除混淆。去MongoDB站点了解Groovy库应该如何使用是一个轻率的建议。正确的位置是GMongo文档,因为我需要知道如何从Groovy而不是Javascript调用聚合。