Я относительно новичок в ArangoDB, и после прочтения документов я пытаюсь реализовать его для нового проекта.Список запросов ArangoDB для строк
У меня есть коллекция документов, и в каждом документе есть список, содержащий несколько терминов. Я использую java-драйвер и хотел бы запросить документы, список которых соответствует любому из элементов в списке, который у меня есть.
Пример:
Document 1
{
tokens["blue", "red", "green"]
}
Document 2
{
tokens["black", "red", "yellow"]
}
myArrayList:
["purple", "red"]
Поскольку ArrayList Я пытаюсь запросить с помощью которых содержит слово «красный», я должен быть представлен как документ 1 и документ 2. В идеале, я буду представлена только с ID документа и соответствующий цвет.
В пол-psuedocode от того, что я знаю AQL:
FOR document IN documents FILTER document.tokens CONTAINS myArrayList RETURN document.token.color && document._id
я обычно уже возвращался весь объект документа, а затем просто доступ, что мне нужно. Я мог бы сделать это, если это будет проще. Например:
FOR document IN documents FILTER document.tokens CONTAINS myArrayList RETURN document
Этот запрос, описанный выше, не будет выполнен с ошибками разбора. Скобки не совпадают, и если есть подзапрос, в нем должен быть отдельный оператор возврата. Кроме того, если не отфильтровывать документы, которые не содержат каких-либо цветов. Я думаю, что это должно выглядеть так: 'FOR document IN documents LET contains = (FOR color IN document.tokens FILTER MATCHES (цвет, @myArrayList) RETURN color) FILTER LENGTH (содержит)> 0 RETURN document' – stj