Mongodb JasperSoft中数据集参数中的条件表达式

Mongodb JasperSoft中数据集参数中的条件表达式,mongodb,jasper-reports,conditional,Mongodb,Jasper Reports,Conditional,我有一个与MongoDB连接的.jrxml报告。在这个报告中,我有一个带有许多Dataset参数的表,以便动态创建查询。不幸的是,我对其中一个参数有问题,它看起来像: ($P { Owner } == null || $P { Owner }.equals("")) ? new String(""): ($P { Owner }.equals("Pool")) ? "$and:[\"OpnPrps.CurAgtNme\":null,\"Nms.CloAgt\":null]

我有一个与MongoDB连接的
.jrxml
报告。在这个报告中,我有一个带有许多Dataset参数的表,以便动态创建查询。不幸的是,我对其中一个参数有问题,它看起来像:

($P {
    Owner
} == null || $P {
    Owner
}.equals("")) ? new String(""): ($P {
    Owner
}.equals("Pool")) ? "$and:[\"OpnPrps.CurAgtNme\":null,\"Nms.CloAgt\":null]" : "$or:[\"OpnPrps.CurAgtNme\":\"" + $P {
    Owner
} + "\",\"Nms.CloAgt\":\"" + $P {
    Owner
} + "\"]"
我的问题是,当我预览我的报告时,我的查询的
$和
$或
部分无法执行,我有以下错误:

net.sf.jasperreports.engine.JRException: com.mongodb.util.JSONParseException: {
    'findQuery': {
        "OlaDat": {
            '$lte': {
                "$date": 1434438846714
            },
            '$gt': {
                "$date": 1402902732089
            }
        },
        * * $and: ["OpnPrps.CurAgtNme": null, "Nms.CloAgt": null],
        * *
        "Nms.Src": "e-mail"
    }

是否有任何方法可以更改这些条件,以便在数据集参数中获得可计算的值?

好的,我自己发现了错误,问题是我错过了对象之间的两个{}$和:[{“OpnPrps.CurAgtNme”:null},{“Nms.CloAgt”:null}]好的,我自己发现了错误,问题是我错过了两个对象之间的{}$和:[{“OpnPrps.CurAgtNme”:null},{“Nms.CloAgt”:null}]好的,我自己发现了错误,问题是我错过了两个对象之间的{}$和:[{“OpnPrps.CurAgtNme”:null},{“Nms.CloAgt”:null}]