Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 水壶蒙哥号_Mongodb_Upsert_Kettle - Fatal编程技术网

Mongodb 水壶蒙哥号

Mongodb 水壶蒙哥号,mongodb,upsert,kettle,Mongodb,Upsert,Kettle,我试图通过使用Mongo中的_id字段来升级插入 我试图通过使用Json输入步骤恢复第一个_id,但是$._id或$._id.$oid没有成功 任何人都知道如何通过_id进行插入吗?一旦你有了_id,就用修改后的Javascript值将其转换成Stennie指示的扩展JSON符号,如: var _id = '{ "$oid": "' + _id + '" }'; 在MongoDB输出步骤中,将\u id行的JSON列设置为Y。我不确定这个JSON选项是什么时候引入的,但在今天的最新版本中找到了

我试图通过使用Mongo中的_id字段来升级插入

我试图通过使用Json输入步骤恢复第一个_id,但是$._id或$._id.$oid没有成功


任何人都知道如何通过_id进行插入吗?

一旦你有了_id,就用修改后的Javascript值将其转换成Stennie指示的扩展JSON符号,如:

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

MongoDB输出
步骤中,将
\u id
行的
JSON
列设置为
Y
。我不确定这个JSON选项是什么时候引入的,但在今天的最新版本中找到了它。

作者是“Ketter”,你指的是Pentaho Ketter吗?如果是的话,你想达到什么目的?釜中的输入步骤通常是查找数据的查询,而不是更新/升级。是的,Pentaho釜数据集成。我试图首先选择一个文档,使用Json输入(包括_id)恢复其数据,进行一些更改,然后使用以前恢复的_id更新文档。@Stennie关于输入步骤是正确的。不幸的是,我对Mongo一无所知。如果您想了解如何在Kettle中使用代理密钥管理进行升级,请查看插入/更新步骤和组合查找/更新步骤。好的,让我解释一下这个问题。1) 使用mongo输入从mongo恢复文档步骤2)使用Json输入步骤提取字段,包括_id3)使用mongo输出步骤按_id向上插入文档。我有上千个这样的转换,但是没有人使用_id进行逆插入。这里的问题(我想)是ObjectId类型。当我恢复_-id时,我只能设置字符串类型,但是mongo输出步骤不喜欢这个字符串化的_-id。你知道如何恢复_-id并使用它在mongo/Ketter中升级吗?@user1688569:这个数据转换听起来像是一个更适合使用MongoDB的问题。您也许可以尝试使用ObjectID为
{“$oid”:“}
的格式。粘贴在中生成的“预览JSON”也会很有帮助。奇怪的是,没有一个Kettle文档示例包含
\u id
字段。