【问题标题】:How to update information in an existing node instead of creating a new one using Dgraph?如何更新现有节点中的信息,而不是使用 Dgraph 创建新节点?
【发布时间】:2018-11-11 16:24:26
【问题描述】:

我正在编写一个使用 Dgraph 来持久化对象的 Golang 应用程序。从文档中,我可以推断出一个新的UID,因此每次我改变一个对象/运行代码时都会创建一个新节点。

有没有办法更新相同的节点数据而不是创建新节点?

我尝试将UID 更改为将"_:name" 用于UID 字段,但即便如此,每次运行应用程序时都会创建一个新节点。如果数据库中已经存在现有节点,我希望能够更新现有节点,而不是为其创建新节点。

【问题讨论】:

    标签: dgraph dgraph-dgo


    【解决方案1】:

    不幸的是,文档对初学者还不是很友好:/

    要修改/改变现有数据,您必须运行 set 操作并提供像 <uid> <predicate> "value" / <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue" 这样的 rdf-triple。如果不是属性而是边,则值必须是另一个<uid>

    例如,完整的突变是

    {
      set {
        <0x2> <name> "modified-name" .
      }
    }
    

    . 终止序列,还有一个可选的第四个参数可以用来分配label

    查看https://www.w3.org/TR/n-quads/了解更多详情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-26
      • 2018-03-10
      • 2018-10-12
      相关资源
      最近更新 更多