我的数据库中有一堆 JSON 文档。我需要通过搜索其中存在特定字段的文档来对一些文档执行删除操作{key only}。我可以将什么查询添加到我的代码中,以便它找到包含该字段的所有文档?我将使用它们来获取它们的值(整数),将它们放入一个数组中,然后一个一个地使用它们。
最佳答案
扩展一下 George Bailey 提供的链接,您可能需要使用 cts.uris()
而不是 cts.search()
因为 xdmp.documentDelete()
采用 uri 字符串而不是文档:
const uris = cts.uris(
null,
['score-zero', 'unchecked'],
cts.jsonPropertyScopeQuery('theKey', cts.trueQuery())
);
xdmp.documentDelete(uris);
如果是大量文档,您可能需要在调用 cts.uris()
时指定起始值和限制,以便在多次传递中删除不同的文档切片。
希望对你有帮助,
关于javascript - 在 MarkLogic 中,如何仅使用键在 JSON 文档中进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55901581/