通过从datepicker传递参数来查询mongodb上的日期范围

时间:2017-09-14 00:50:02

标签: json mongodb jasper-reports mongodb-query

我有一个名为revisions的集合,它包含以下数据,

{
   "_id" : NumberLong(1007),
   "createdDate" : ISODate("2017-09-25T14:00:53.020Z"),
   "name" : "John",
   "status" : 700
}

我想过滤给定状态和日期(仅限日期忽略时间)范围的数据以生成报告。我正在使用Jaspersoft工作室。我创建了两个参数fromDatetoDate。我已将参数设置为解析为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类型。

0 个答案:

没有答案