我有一个名为revisions
的集合,它包含以下数据,
{
"_id" : NumberLong(1007),
"createdDate" : ISODate("2017-09-25T14:00:53.020Z"),
"name" : "John",
"status" : 700
}
我想过滤给定状态和日期(仅限日期忽略时间)范围的数据以生成报告。我正在使用Jaspersoft工作室。我创建了两个参数fromDate
和toDate
。我已将参数设置为解析为java.util.Date
。我通过datepicker为这些参数赋值。
以下是我尝试过的一些查询,
1)
{
"collectionName":"revisions",
"findQuery":{
"status":700,
"createdDate": {"$gte" : $P{fromDate}},
"createdDate": {"$lte" : $P{toDate}}
}
}
2)
{
"collectionName":"revisions",
"findQuery":{ "status": 700, "createdDate": { "$gte": $P{fromDate}, "$lte": $P{toDate} } }
}
3)
{
"collectionName":"revisions",
"findQuery":{
"status" : 700,
$and: [ { "createdDate" : { '$gte' : $P{fromDate}}},
{"createdDate" : { '$lte' : $P{toDate}}} ]
}
}
有类似的问题,例如[1] [2],但我找不到解决方案,可能是我在查询中使用参数的方式有问题,或者有什么关系ISODate
类型。