JSON PATCH API使用的JSON patch specification与MarkLogic -Path标准(RFC 6902)非常相似,但并不完全相同。例如,要将节点添加到以下文档中:
{
"parent": {
"child1": "c1-value",
"child2": "c2-value"
}
}MarkLogic补丁:
{
"insert": {
"context": "/parent",
"position": "last-child",
"content": { "child3": "c3-value" }
}
}JSON-Patch标准:
{
"op": "add",
"path": "/parent/child3",
"value": "c3-value"
}有没有办法自动将JSON补丁转换成MarkLogic补丁?我的想法是利用json-patch-gen等库自动生成JSON-Patch操作,并将它们转换为MarkLogic补丁以更新MarkLogic中的文档。
或者,有没有JavaScript库可以通过比较两个MarkLogic对象来自动生成JavaScript补丁?
发布于 2019-08-15 22:53:24
虽然RFC影响了MarkLogic补丁规范,但RFC的一些规定与MarkLogic不匹配。
序列中的每个操作都将应用于目标文档;生成的文档将成为下一个操作的目标。
可以将以JSON patch RFC语法的子集表示的补丁转换为使用MarkLogic补丁功能子集的MarkLogic补丁规范。
然而,这种最小公分母的方法会增加成本,为bug创造机会,并放弃MarkLogic的一些功能。
除非将相同的补丁应用于其他数据存储中的内容,否则要求转换可能没有太多好处。
希望能派上用场
https://stackoverflow.com/questions/57504075
复制相似问题