[英]Pentaho MongoDB Report query date ranges
我正在尝试使用 Pentaho Report Designer MongoDB 本机连接器生成报告,但无法使用日期范围。
我的收藏有一个名为“timestamp”的列,我尝试将以下内容放在查询选项卡中:
{"timestamp" : {$gte :ISODate("2013-12-04T15:10:00.000Z")}}
{"timestamp" : {$gte : new Date("2013-12-04T15:10:00.000Z")}}
虽然这些查询都在 mongo shell 上使用 .find(query) 工作,但在 Pentaho Report Designer 中,我没有得到任何行,也没有错误消息。
更简单的查询,如:
{"objType" : "Image"}
在珠三角工作正常。
编辑:
由于来自以下方面的建议,我设法使其正常工作:
http://wiki.pentaho.com/display/EAI/MongoDB+Input
所以答案是使用类似的东西:
{ "$query" : { "timestamp" : { $gte : { $date : "2013-12-04T15:10:00Z" }, $lte : { $date : "2013-12-04T15:12:00Z" } } } }
我仍然无法使用 Date 参数使其工作:如果我输入:
{ "$query" : { "timestamp" : { $gte : { $date : "${StartDate}" }, $lte : { $date : "${EndDate}" } } } }
在查询选项卡中,我选择“StartDate”和“EndDate”为“Date”类型,它不起作用。 如果我将参数的类型设置为“字符串”并将它们的值设置为 ISO 格式,则它可以正常工作。
有没有办法直接使用 Date 类型的参数?
您可以使用如下内容:
{ created_at : { $gte : { $date : "2014-12-31T00:00:00.000Z" } } }
带变量:
# my_date = '2014-12-31'
{ created_at : { $gte : { $date : "${my_date}T00:00:00.000Z" } } }
或者:
# my_date_time = '2014-12-31T00:00:00.000Z'
{ created_at : { $gte : { $date : "${my_date_time}" } } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.