在 MarkLogic 中,如何仅使用键在 JSON 文档中进行搜索?

In MarkLogic, how do I search in JSON documents using only the key?

我的数据库中有一堆 JSON 文档。我需要通过搜索其中存在特定字段的文档来对一些文档执行删除操作{key only}。我可以将什么查询添加到我的代码中,以便它找到包含该字段的所有文档?我将使用它们来获取它们的值(整数),将它们放入一个数组中,然后一个一个地使用它们。

扩展一下 George Bailey 提供的 link,您可能想使用 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() 时指定起始值和限制,以便多次删除不同的文档切片。

希望对您有所帮助,