【发布时间】:2023-03-20 01:45:01
【问题描述】:
{
$match: {
$expr: {
$or: [
{$ifNull : [$P{departmentuid},"warduid":{"$eq": {"$oid":$P{warduids} } } ] },
{$ifNull : [$P{warduids},"orderdepartmentuid": {"$eq": {"$oid":$P{departmentuid} } } ] }
]
}
}
},
我正在尝试创建一个将从 Jaspersoft Studio 执行的查询。现在,将发送到查询的参数是两个设置参数中的一个,所以我创建了一个 $match,它的条件是它只会过滤将接收的一个参数。 我不太确定我是否对此进行了正确的查询。希望有人可以提供帮助。谢谢!
将从 jaspersoft studio 接收的参数是 $P{departmentuid} 或 ${warduids}
逻辑将是,如果查询收到 $P{departmentuid} 参数,它将仅在整个查询中应用 departmentuid,但如果它收到 $P{warduid},它将仅应用 warduid。
【问题讨论】:
-
$ifNull 不是流量控制。见stackoverflow.com/questions/32815970/mongo-db-conditional-query
标签: mongodb mongodb-query jasper-reports