合并pentaho PDI水壶中的行

时间:2017-04-21 04:11:15

标签: mongodb pentaho kettle pdi

我想知道我是否可以在pentaho中合并2行或更多行?

例如: 我有2行

case:'001',
owner:'Barack'
date:'2017-04-10'

case:'001',
owner:'Trump'
date:'2017-02-10'

然后我想要一个mongoDB输出:

case:'001'
ownerHistory:[
{
owner:'Barack'
date:'2017-04-10'
},
{
owner:'Trump'
date:'2017-02-10'
}
]

1 个答案:

答案 0 :(得分:1)

MongoDB输出步骤支持影响文档中各个字段的修饰符更新以及将项目添加到列表/数组的$ push操作。使用这些,您不需要合并任何行,您可以将它们全部发送到MongoDB输出步骤。

在修改器更新处于活动状态时,如果情况尚未存在,则将插入每个下一行,或者如果有,则将所有者添加到数组中。

不幸的是,如果您使用相同的传入数据再次运行此转换,它将添加更多的所有者副本。我还没有办法解决这个问题,所以我希望你在用例中没有这个。

也许如果您拆分数据并使用每个案例的第一条记录插入/替换,那么为第二条及以后的记录执行$ push更新,您可以管理它。

MongoDB configuration screenshot