Я использую функцию 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 } }
как пример