如何通过在 MarkLogic 中传递 URI 和集合名称来搜索文档?
How to search doucments by passing URI and collections names in MarkLogic?
我想在 javascript 中构造一个搜索查询,我在其中传递一个文档的 URI 及其集合名称,以便我可以将文档作为输出 (JSON).
我尝试了 fn.doc、cts.doc 等,但我找不到如何在其中使用集合名称。
您可能不需要复杂的 cts 查询:
let collections = xdmp.documentGetCollections('test.json')
if(collections.includes('test')) {
fn.doc('test.json')
} else {
"not found"
}
只需使用 xdmp.documentGetCollections
阅读文档集合并测试它是否包含您的集合。之后 return 它与 fn.doc
.
URI 应该足以获取文档。如果您想将其作为查询来执行,请使用 cts.documentQuery(uri)。如果你想确保它也有特定的集合,你可以在 cts.collectionQuery(collections) 中,比如:
cts.andQuery([cts.collectionQuery(collections),cts.documentQuery(uri)])
我想在 javascript 中构造一个搜索查询,我在其中传递一个文档的 URI 及其集合名称,以便我可以将文档作为输出 (JSON).
我尝试了 fn.doc、cts.doc 等,但我找不到如何在其中使用集合名称。
您可能不需要复杂的 cts 查询:
let collections = xdmp.documentGetCollections('test.json')
if(collections.includes('test')) {
fn.doc('test.json')
} else {
"not found"
}
只需使用 xdmp.documentGetCollections
阅读文档集合并测试它是否包含您的集合。之后 return 它与 fn.doc
.
URI 应该足以获取文档。如果您想将其作为查询来执行,请使用 cts.documentQuery(uri)。如果你想确保它也有特定的集合,你可以在 cts.collectionQuery(collections) 中,比如:
cts.andQuery([cts.collectionQuery(collections),cts.documentQuery(uri)])