我通过Kettle转换将数据从mongodb集合加载到mysql表。 首先,我使用MongodbInput提取它们然后使用json输入步骤。 但由于json输入步骤的性能非常低,我想用一个替换它 javacript脚本。 我是Javascript的初学者,即使我尝试了一些东西,水壶javascript脚本也无法识别任何关键字。
任何人都可以给我示例代码,使用javascript将Json数据转换为不同的列吗?
答案 0 :(得分:1)
要解决您的问题,您需要看到三个方面:
从MongoDB读取除非您更改了界面,否则MongoDB不会返回JSON而是返回BSON文件(〜二进制JSON)。您需要查看关于读取和编写BSON的MongoDB文档:可能类似于BSON.to()
和BSON.from()
,但我不清楚它。
从JSON读取在您使用JSON格式的BSON后,您可以使用JSON.stringify()
阅读它,并返回String
。
从(可能)字符串读取如果要使用JSON的功能(为什么还要使用JSON?),您还希望使用返回JSON对象的JSON.parse()
我的经验是,使用String
将JSON对象从一个步骤发送到另一个步骤并不是一个坏主意,即在JavaScript步骤结束时,将JSON对象写入{{ 1}}并且在下一个JavaScript步骤的开头(可以在流的下游),你将它解析回JSON以使用它。
我希望这能回答你的问题。
PS:编写JavaScript步骤需要您学习JavaScript。您不必是主人,但需要基础知识。没有办法解决它。
答案 1 :(得分:0)
您可以使用 json输入步骤来获取此json的值并放入公共行