2015-05-14 90 views
1

是否可以在Mongo Input Query选项卡的命令行中使用命名参数?如果是,如何? 下面是我正在尝试实现的,但它不工作。在Pentaho壶中的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  

回答

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"}}}。我猜对了,但如果不是,你可能不得不修改查询语法。我已经多次使用这种技术来从参数中构建动态查询。