У меня проблема с запросом ArangoDB в java для значения Arrays. Я пробовал использовать как String [], так и ArrayList, но безуспешно.
Мой запрос:
FOR document IN documents FILTER @categoriesArray IN document.categories[*].title RETURN document
BindParams:
Map<String, Object> bindVars = new MapBuilder().put("categoriesArray", categoriesArray).get();
categoriesArray
содержит набор строк. Я не уверен, почему он не возвращает никаких результатов, потому что, если я запрашиваю, используя:
FOR document IN documents FILTER "Politics" IN document.categories[*].title RETURN document
Я получаю результаты, которые ищу. Только не при использовании Array или ArrayList.
Я также попытался запросить:
FOR document IN documents FILTER ["Politics","Law] IN document.categories[*].title RETURN document
чтобы имитировать ArrayList, но это не возвращает никаких результатов. Я бы запросил несколько отдельных строк, но их слишком много, и я получаю сообщение об ошибке от драйвера Java при запросе с такой длинной строкой. Таким образом, я должен запросить, используя массив или ArrayList.
Пример categoryArray:
["Politics", "Law", "Nature"]
Образец изображения базы данных: