我有一个 JSON“聚合”文件,我想使用 mlcp 将其拆分并作为多个文档摄取到 MarkLogic 中。
我想要使用 javascript 在摄取过程中转换内容 http://docs.marklogic.com/guide/mlcp/import#id_55217.
我的 JSON 文件看起来像这样:
{
"type": "FeatureCollection",
"features": [
{blobA}, {blobB}, {blobC} ......
]
}
...我想通过 MLCP 运行此文件,以便每个文档都包含数组中的一个项目。
即,一个文档将包含 {blobA},另一个文档将包含 {blobB},另一个文档将包含 {blobC}......等等。
如何编写自定义 .sjs 转换模块?
看看这里的例子:http://docs.marklogic.com/guide/mlcp/import#id_26044 http://docs.marklogic.com/guide/mlcp/import#id_26044
原始输入文档预计采用以下形式:
{ uri: string,
value: node
}
这也是每个文档的预期输出形式。您还希望返回的类型为文档节点,因为您希望 mlcp 将其拆分并将其摄取为 JSON 文档。
所以,你的 .sjs 自定义转换模块看起来像这样......
function splitFeatures(doc) {
const features = doc.value.toObject().features;
return xdmp.arrayValues(
features.map(function(feature) {
return {
uri: '/path/itemhere-' + xdmp.random() + '.json',
value: xdmp.toJSON(feature)
}
})
);
}
exports.transform = splitFeatures;
顺便说一句,这是一个在 MarkLogic 中使用 JSON 时的有用资源 https://developer.marklogic.com/features/json.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)