如何在过滤釜中的Mongodb输入时传递变量

如何在过滤釜中的Mongodb输入时传递变量,mongodb,pentaho,kettle,Mongodb,Pentaho,Kettle,如何在过滤Mongodb输入时传递当前日期 当前日期为Pentaho系统日期 mongodb输入中的查询 { created_at : { $gte : { $date : "2014-12-31T00:00:00.000Z" } } } 而不是像2014-12-31T00:00:00.000Z->今天的日期一样,以相同的格式2014-12-31T00:00:00.000Z使用变量$today-date 我需要通过变量将该值替换为todays date { created_at : { $gt

如何在过滤Mongodb输入时传递当前日期

当前日期为Pentaho系统日期

mongodb输入中的查询

{ created_at : { $gte : { $date : "2014-12-31T00:00:00.000Z" } } }
而不是像
2014-12-31T00:00:00.000Z
->今天的日期一样,以相同的格式
2014-12-31T00:00:00.000Z
使用变量
$today-date

我需要通过变量将该值替换为todays date

{ created_at : { $gte : ${TODAY-DATE} } }
下面是一些:

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

我建议尝试以下方法:

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

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

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

    传递变量的正确语法是如果
    TODAY-DATE
    是一个变量

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

    这个变量来自哪里?你用什么语言?是什么阻止您将其用作语言中的变量?变量的值将来自系统信息步骤,该步骤给出系统日期(固定)。运行转换时,我将在环境变量下使用此变量。我正在使用PDI。我对该技术不太了解,但我现在已经正确标记了它,我们将看看是否有人知道答案!您需要将输入步骤中的日期值替换为来自PDI的变量?在输入转换之前定义转换变量的作业如何?如果您想了解有关使用作业执行此操作的更多信息,请告诉我。。。