我在ArangoDB中已有一个集合。但是,文档“密钥”中有一个错字。
是否可以在Arangodb中的所有文档中重命名给定的Key?
答案 0 :(得分:2)
要更改实际的属性名称,可以使用类似于以下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中,我们添加了一个新属性(马铃薯),将值设置为原始属性(马铃薯)的值,然后将原始属性设置为null。最后,我们使用keepNull选项告诉系统删除Potatoe属性。
请注意,上面的AQL将仅删除语句结果中的空值。因此,如果表中的'rice'属性已经为空,则由于'rice'不是update语句的一部分,系统将不会删除它。
答案 1 :(得分:0)
如果是系统性畸变,请使用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}