Переименовать ключ документа Arango DB - PullRequest
0 голосов
/ 03 мая 2019

У меня есть коллекция в ArangoDB. Однако есть опечатка в одном ключе документа.

Можно ли переименовать данный ключ во всех документах в Arangodb?

Ответы [ 2 ]

2 голосов
/ 05 мая 2019

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

FOR t IN test1
//FILTER t._key == '299'   //optional filter
UPDATE t WITH {
    potato: t.Potatoe,
    Potatoe: null
    }
IN test1 
OPTIONS { keepNull: false }

В AQL выше мы добавляем новый атрибут (potato), устанавливаем значение равным значению исходного атрибута (Potatoe), а затем устанавливаем для исходного атрибута значение null. Наконец, мы используем опцию keepNull, чтобы сообщить системе удалить атрибут Potatoe.

Обратите внимание, что приведенный выше AQL удалит только те нули, которые являются результатом оператора. Таким образом, если в вашей таблице уже есть нулевой атрибут rice, система не удалит его, так как rice не является частью оператора update.

0 голосов
/ 03 мая 2019

Если это систематическая аберрация, используйте оператор AQL-Update, например:

FOR c IN collection
    FILTER c.pointer == OFFENDING_KEY
    LET newC = {pointer: CORRECT_KEY}
    UPDATE c WITH newC IN collection OPTIONS {exclusive: true}
...