MATCHES () во вложенном документе не работает в AQL? - PullRequest
1 голос
/ 16 июня 2020

Я использую функцию MATCHES() AQL для поиска записей в базе данных aran go, соответствующих примеру. Эта функция хорошо работает для простых примеров, но я не могу заставить ее работать должным образом с вложенными функциями. См. Пример:

RETURN MATCHES(
{ "a" : { "c" : 1 }, "b" : 1 },
{ "a" : { "c" : 1 } },
false
)

Это возвращает true, однако, если я попробую:

RETURN MATCHES(
{ "a" : { "c" : 1, "b" : 1 }},
{ "a" : { "c" : 1 } },
false
)

, он вернет false !! (Я ожидал вернуть истину)

Я читал, что это известно в разделе Query by example https://www.arangodb.com/docs/stable/data-modeling-documents-document-methods.html#query -пример

Их решение - использовать точечная нотация, но она не работает в AQL

Следуя их примеру:

RETURN MATCHES(
{ "a" : { "c" : 1, "b" : 1 } },
{ "a.c" : 1 },
false
)

возвращает false (и я ожидал бы вернуть true)

Как можно Затем я использую MATCHES() для вложенных атрибутов?

FYI: я использую arangodb v3.4.9

Уточнение: я хочу получить совпадение { "a" : { "c" : 1, "b" : 1 } }, указав { "a" : { "c" : 1 } } как пример

...