Есть ли способ использовать имена динамических коллекций в AQL?

Если у меня есть коллекция, содержащая в себе имена коллекций, существует ли в AQL синтаксис, позволяющий использовать динамические имена коллекций?

Вот пример того, что я ищу. Коллекция под названием master содержит много документов с .state Active или Disabled. В коллекции есть ключ с именем collection_name, который является именем другой коллекции в этой базе данных.

FOR doc IN master 
FILTER doc.state == 'Active' 
    FOR c IN COLLECTION(doc.collection_name)    <--- invented command called COLLECTION
    RETURN {
      'collection_name': doc.collection_name,
      'contents': c
    }

Я пытаюсь получить все документы из всех коллекций, помеченных как Active в коллекции master.

Есть ли способ сделать это в одном запросе AQL, не разбивая его на начальный запрос master, за которым следует n запросов для каждой из возвращенных коллекций?


person David Thomas    schedule 14.12.2016    source источник


Ответы (1)


Как я сделал вывод из этой проблемы с ArangoDB, по-настоящему использовать динамический сбор невозможно. имена.

Однако вы можете использовать любую функцию AQL в качестве обходного пути. См. Последний комментарий к проблеме для полного объяснения.

person felixlinker    schedule 11.02.2017