Итерация только по атрибутам со значениями массива в Аранго - PullRequest
1 голос
/ 14 марта 2019

Я знаю, что в ArangoDB вы можете использовать следующую структуру для перебора всех атрибутов в документе:

FOR doc IN collection 
  LET attrs = ATTRIBUTES(doc)  

Я хотел бы сделать что-то подобное, однако я хотел бы игнорировать атрибуты, которыеу меня нет значений массива, то есть я хочу перебирать только ключевые значения, где это массив (не строка, объект и т. д.). Можно ли отфильтровать атрибуты таким образом, и если да, то как?

1 Ответ

2 голосов
/ 15 марта 2019

ATTRIBUTES() возвращает не все атрибуты в документе, а только точные атрибуты верхнего уровня.

Если вас интересуют атрибуты верхнего уровня, значение которых имеет тип array, тогда вы можете сделать следующее, чтобы получить их ключи атрибута:

FOR doc IN collection
  LET attrs = (
    FOR att IN ATTRIBUTES(doc)
      FILTER IS_ARRAY(doc[att])
      RETURN att
  )
...
...