如何在JasperReports MongoDB查询中将参数值连接到字符串?

如何在JasperReports MongoDB查询中将参数值连接到字符串?,mongodb,jasper-reports,parameter-passing,Mongodb,Jasper Reports,Parameter Passing,我们正在JasperReports服务器中创建主题,这些主题基本上是在iReport或Jaspersoft Studio中通过指定以下形式的查询创建的空白报告: { collectionName: "collectionName" } 我的问题是我的收藏是以 abc.xyz。其中ID字段确定集合的ID 因此,我的查询应该参数化,并且应该如下所示: { collectionName: "abc.xyz." + $P{ID} } 其中$p{ID}是传递给报表的参数 现在的问题是Jasper不计算

我们正在JasperReports服务器中创建主题,这些主题基本上是在iReport或Jaspersoft Studio中通过指定以下形式的查询创建的空白报告:

{
collectionName: "collectionName"
}
我的问题是我的收藏是以 abc.xyz。其中ID字段确定集合的ID

因此,我的查询应该参数化,并且应该如下所示:

{
collectionName: "abc.xyz." + $P{ID}
}
其中$p{ID}是传递给报表的参数

现在的问题是Jasper不计算连接,即使我给了它一个默认值。所以我的查询结果看起来像

{
collectionName: "abc.xyz." + "idtwo"
}
而我希望它看起来像

{
collectionName: "abc.xyz.idtwo"
}
导致JR服务器向我报告错误

java.lang.RuntimeException: exception getting dataset from cache

Caused by: com.mongodb.util.JSONParseException: { collectionName: "abc.xyz." + "idtwo" }
}

我应该怎么做?

定义一个变量并将其用作集合名称的值,如下所示

{
    collectionName : $V{myCollectionNameParam}
}
然后在你的报告设计中;定义上述使用的变量值,如下所示

"abc.xyz." + $P{ID}

我也试过同样的方法,但不起作用。我得到了相同的错误,java.lang.RuntimeException:从缓存获取数据集的异常由以下原因引起:com.mongodb.util.JSONParseException:{collectionName:$V{myCollectionNameParam}}