2017-04-13 85 views
0

我有一个蒙戈DB查询来获取一些数据如下图所示使用一个变量作为地图的关键MongoDB的Groovy的查询

collection.find(lastUpdated: ['$gte': startDate.toLong(), '$lt': endDate.toLong()], resource: ['$gt': limit]).findAll().toList() 

resource是的值可以是一个动态的领域: parameter1parameter2。 .. 等等。

我通过resource作为此查询中的方法参数。

有人可以推荐一些办法,通过它我可以动态地在我的查询中使用resource没有硬编码它作为(paramter1parameter2parameter3 ...)值

回答

1

是的,你就要成功了,你只需要通过它作为变量并在Map上使用()语法来指示您正在将变量用作键而不是文字值。

改变这一点:

resource: ['$gt': limit] 

这样:

(resource): ['$gt': limit] 

全面查询:

def resource = "parameter1"; //or parameter2 ... 
collection.find(lastUpdated: ['$gte': startDate.toLong(), '$lt': endDate.toLong()], (resource): ['$gt': limit]).findAll().toList() 
+0

所有我错过了()...好谢谢:): ) – JavaAppUser

+0

欢迎你;它发生在使用新语言时;) – dsharew

相关问题