Javascript 如何通过在MarkLogic中传递URI和集合名称来搜索doucments?

Javascript 如何通过在MarkLogic中传递URI和集合名称来搜索doucments?,javascript,json,search,marklogic,Javascript,Json,Search,Marklogic,我想在javascript中构造一个搜索查询,在这里我传递一个文档的URI和它的集合名称,这样我就可以以outputJSON的形式获取文档 我尝试了fn.doc、cts.doc等,但找不到如何在其中使用集合名称。对此,您可能不需要复杂的cts查询: let collections = xdmp.documentGetCollections('test.json') if(collections.includes('test')) { fn.doc('test.json') } else {

我想在javascript中构造一个搜索查询,在这里我传递一个文档的URI和它的集合名称,这样我就可以以outputJSON的形式获取文档


我尝试了fn.doc、cts.doc等,但找不到如何在其中使用集合名称。

对此,您可能不需要复杂的cts查询:

let collections = xdmp.documentGetCollections('test.json')

if(collections.includes('test')) {
  fn.doc('test.json')
} else {
  "not found"
}

只需使用xdmp.documentGetCollections读取文档集合,并测试它是否包含您的集合。然后将其与fn.doc一起返回。

URI应该足以获取文档。如果要将其作为查询,请使用cts.documentQueryuri。如果要确保它也有特定的集合,您可以在cts.collectionQuerycollections中执行以下操作:

cts.andQuery([cts.collectionQuery(collections),cts.documentQuery(uri)])