Среда: клиент NodeJS, сервер Marklogic 8.
Запрос от NodeJS:
var query = qb.where(
qb.directory('/root/dir/'),
qb.scope(
qb.property('sources'),
qb.value('brand','MyBrand')
)
);
Переведенный запрос:
{
"whereClause": {
"query": {
"queries": [
{
"directory-query": {
"uri": [
"/root/dir/"
]
}
},
{
"container-query": {
"json-property": "sources",
"value-query": {
"json-property": "brand",
"text": [
"MyBrand"
]
}
}
}
]
}
},
"queryType": "structured",
"queryFormat": "json"
}
Запрос возвращает 10501 документ.
Но 20 документов не соответствуют условию запроса (sources.brand = MyBrand)
Образец извлечения для неправильного документа "/root/dir/0029aaa0-53dc-11e6-8f88-311cf9885168.json" возвращен:
{
sources:
[
{
"somefield1": {
"somesubfield": "0D793B77-826A-4E19-BCEF-5F1E5C07271A"
},
"somefield2": "6408467",
"brand": "NA",
"somefield3": "TEST"
},
{
"somefield": {
"somesubfield": "832B4AE2-C817-4960-BF8C-63374E7D1B66"
},
"somefield2": "6408467",
"brand": "NA",
"somefield3": "TEST"
}
],
otherFieldsSkipped: true,
badScope:
[
{
"brand": "MyBrand",
},
],
}
Проблема возникает на 2 разных платформах.
Только несколько документов неверны, где badScope[0].brand соответствует значению (MyBrand).
Спасибо