【问题标题】:Rename Document Key Arango DB重命名文档密钥 Arangodb
【发布时间】:2019-05-03 15:38:59
【问题描述】:

我在 ArangoDB 中有一个现有的集合。但是,文档 Keys 中有一个错字。

是否可以在 Arangodb 的所有文档中重命名给定的 Key ?

【问题讨论】:

    标签: nosql arangodb


    【解决方案1】:

    要更改实际的属性名称,您可以使用类似于以下 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' 不是更新语句的一部分。

    【讨论】:

      【解决方案2】:

      如果是系统性异常,请使用 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}
      

      【讨论】:

      • 在我的收藏中,我有“.Main_ID”:11400 但是,我只想用“Main_ID”重命名“.Main_ID”。看起来您的查询将更新值
      • 是的,我是这样理解你的问题的;你可以阅读 AQL,一个解决方案与给定的查询没有什么不同——唉,我的时间很短——如果到那时你还没有找到方法,我可能会在星期一更新。
      猜你喜欢
      • 2012-11-03
      • 1970-01-01
      • 1970-01-01
      • 2014-07-30
      • 2018-06-14
      • 2012-12-30
      • 1970-01-01
      • 2014-04-17
      • 2018-04-04
      相关资源
      最近更新 更多