我有一个mongo db查询来获取一些数据,如下所示
collection.find(lastUpdated: ['$gte': startDate.toLong(), '$lt': endDate.toLong()], resource: ['$gt': limit]).findAll().toList()
resource
是一个动态字段,其值可能如下:
parameter1
,parameter2
......等等。
我在这个查询中传递resource
作为方法参数。
有人可以通过某种方式建议我可以动态使用resource
而无需在我的查询中将其值(paramter1
或parameter2
或parameter3
...)硬编码
答案 0 :(得分: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()