У меня есть два документа JSON в коллекции, как показано ниже
Doc 1
-----
"instance": {
"PolicyInfo": [
{
"PolicyNumber": "P1-111",
"PolicyStatusCd": "Primary"
},
{
"PolicyNumber": "P2-222",
"PolicyStatusCd": "Additional"
}
],
"ClaimInfo" : [
{
"PolicyNumber": "P3-333",
"PolicyStatusCd": "Additional"
}
]
}
Doc 2
-----
"instance": {
"PolicyInfo": [
{
"PolicyNumber": "P2-222",
"PolicyStatusCd": "Primary"
}
],
"ClaimInfo" : [
{
"PolicyNumber": "P1-111",
"PolicyStatusCd": "Primary"
}
]
}
У меня есть номер политики ввода как P1-111, и мне нужно возвращать документ только в том случае, если для PolicystatusCd в разделе PolicyInfo для политики установлено значение «Primary». Итак, я должен вернуть только Doc1, но не Doc2, потому что Doc2 имеет политику P1-111 в качестве первичной в ClaimInfo, но не PolicyInfo
Я пытаюсь использовать cts.serch (желательно без создания дополнительных индексов, отличных от универсальных индексов по умолчанию), но не смог найти подходящего решения.
В качестве альтернативы, я мог бы использовать что-то вроде cts.propertyValueQuery для возврата обоих документов и использовать JavaScipt для фильтрации Doc2, но проверяя, могу ли я сделать все это с помощью самих функций MarkLogic.
Заранее спасибо!