如何在Kettle中过滤Mongodb INPUT时传递变量

时间:2014-11-14 12:33:37

标签: mongodb pentaho kettle

如何在过滤Mongodb INPUT时传递当前日期?

当前日期是Pentaho系统日期

在mongo db input中查询

{ created_at : { $gte : { $date : "2014-12-31T00:00:00.000Z" } } }

而不是2014-12-31T00:00:00.000Z - >今天的日期采用2014-12-31T00:00:00.000Z

之类的变量格式$TODAY-DATE

我需要通过变量

将值替换为今天的日期

如下所示:

{ created_at : { $gte : { $date : "$TODAY-DATE" } } }

2 个答案:

答案 0 :(得分:2)

我建议尝试以下方法:

  1. 在调用转换的作业中,创建一个满足格式预期的变量。您可以使用JavaScript步骤来评估和存储变量。将值存储在变量中的短脚本示例:

    // do some alterations to 'modifiedDate',
    // then store the variable in the memory:
    parent_job.setVariable("Extraction.MongoDB.Date", modifiedDate);
    
  2. 将变量作为参数传递给转换(编辑作业输入==>参数选项卡);

  3. 使用以下约定调用变量:相关MongoDB输入步骤字段中的${Extraction.MongoDB.Date};
  4. 我希望这会有所帮助。

答案 1 :(得分:0)

传递变量的正确语法是:TODAY-DATE是变量

{ created_at : { $gte : ${TODAY-DATE} } }