2013-02-18 53 views
3

我想通过使用Mongo中的_id字段进行插入。水壶mongo _id

我已经尝试通过使用JSON输入步骤,没有运气._ $ ID或$ ._ id来恢复第一_id。$ OID

任何人都知道如何向_id UPSERT?

+1

'水壶',你指的是Pentaho壶?如果是这样,你想达到什么目的? Kettle中的输入步骤通常是查询数据,而不是更新/插入。 – Stennie 2013-02-19 03:11:38

+0

是的,Pentaho Kettle数据集成。我试图选择第一个文档,通过使用Json Input(包括_id)恢复其数据,做一些更改并通过使用之前恢复的_id来插入文档。 – user1688569 2013-02-20 08:00:05

+1

@Stennie对于输入步骤是正确的。不幸的是,我对Mongo一无所知。如果您正在寻找通常在Kettle中使用代理键管理的方法,请查看插入/更新步骤以及组合查找/更新步骤。 – 2013-02-20 20:32:51

回答

2

一旦你的_id,将其转化为通过Stennie指示的扩展JSON符号与Modified Javascript Value脚本,如:

var _id = '{ "$oid": "' + _id + '" }'; 

在你MongoDB Output步骤,在该_idJSON列设置为Y。我不确定何时引入这个JSON选项,但是在今天最新的CI build of Kettle中发现了它。