Pentaho Kettle中的Mongo输入

时间:2015-05-14 14:03:44

标签: mongodb pentaho kettle

是否可以在Mongo输入查询选项卡中使用命令行中的命名参数?如果有,怎么样? 以下是我想要实现的目标,但它无法正常工作。

{endDate: {$gte : {$date : "${curr_date}"}}}

从命令行我给出如下输入:

mongo_date=$(date '+%Y-%m-%dT%H:%M:%SZ')


./pan.sh -file='ds_mongo.ktr'  "-param:curr_date=\`$mongo_date\`" -Level=Basic > /.../tr_get_command_line_arguments.err.log    

1 个答案:

答案 0 :(得分:0)

看起来MongoDB Input允许通过变量进行动态查询。在这种情况下,我将在先前的转换中构建查询字符串,并将其存储在Job变量中,以便在此步骤中使用。然后需要使用kitchen.sh(而不是平移)启动作业。

它看起来像这样:

首先,这份工作。 MongoQuery.kjb

然后转换来构建查询字符串。查询字符串模板位于Add Constants步骤中,看起来像{endDate: {$gte : {$date : "mongo_date"}}}enter image description here

最后是MongoDB Input步骤。 enter image description here

注意,我没有Mongo并且从未使用它,所以我不知道查询应该是什么样子。使用此技术,上述步骤产生以下查询以发送给Mongo:{endDate: {$gte : {$date : "03/28/1967 00:00:00"}}}。我猜对了,但如果不是,你可能不得不修改查询语法。我已多次使用此技术从参数构建动态查询。