Мы включили битемпораль в коллекциях клиентов и счетов, и у нас есть клиент «123456» в последней коллекции как клиентов, так и счетов.Мы пытаемся использовать файл опций, чтобы извлечь последний документ клиента из коллекции 'customer'.
Ниже приведен кодированный файл опций.
{
"options":
{
"search-option": "unfiltered",
"additional-query":[
"<collection-query xmlns='http://marklogic.com/cts'>
<uri>customer</uri>
</collection-query>"
],
"additional-query":[
"<collection-query xmlns='http://marklogic.com/cts'>
<uri>latest</uri>
</collection-query>"
],
"constraint": [
{
"name": "CustomerId",
"range":
{
"type": "xs:string",
"collation" : "http://marklogic.com/collation/codepoint",
"element": {"name": "CustomerId" }
}
}
],
"extract-document-data":
{
"selected": "exclude",
"extract-path": [ "/envelope/instance/Customer" ]
}
}
}
Когда мы попробуем нижекод, документы по-прежнему поступают как из клиентских, так и из платежных коллекций.
fn.head(search.search('CustomerId:123456',
SearchOptions.firstChild)).xpath('search:result/search:extracted/data()',
{'search': 'http://marklogic.com/appservices/search'});
SearchOptions в запросе выше - это файл опций.
Мы понимаем, что «дополнительный запрос» будет применять условие И, но похоже, что в нашем понимании есть некоторый пробел.
Как я могу применить условие И в файле опций, чтобы получить ПОСЛЕДНИЕдокумент только из коллекции «клиента».
Заранее спасибо!