如何更新现有节点中的信息而不是使用 Dgraph 创建新节点?
How to update information in an existing node instead of creating a new one using Dgraph?
我正在编写一个 Golang 应用程序,使用 Dgraph 来持久化对象。从文档中,我可以推断出一个新的 UID
,因此每次我改变 object/run 代码时都会创建一个新节点。
有没有办法更新相同的节点数据而不是创建新节点?
我尝试将 UID
更改为对 UID
字段使用 "_:name"
,但即便如此,每次应用程序 运行 时都会创建一个新节点。我希望能够更新现有节点(如果它已经存在于数据库中)而不是为其创建新节点。
不幸的是,文档还不是很适合初学者:/
要修改/改变现有数据,您必须 运行 一个 set
操作并提供像 <uid> <predicate> "value"
/ <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue"
这样的 rdf-triple。如果它不是属性而是边,则该值必须是另一个 <uid>
.
例如,完整的突变是
{
set {
<0x2> <name> "modified-name" .
}
}
.
终止序列,还有一个可选的第四个参数,您也可以使用它来分配 label
。
查看 https://www.w3.org/TR/n-quads/ 了解更多详情。
我正在编写一个 Golang 应用程序,使用 Dgraph 来持久化对象。从文档中,我可以推断出一个新的 UID
,因此每次我改变 object/run 代码时都会创建一个新节点。
有没有办法更新相同的节点数据而不是创建新节点?
我尝试将 UID
更改为对 UID
字段使用 "_:name"
,但即便如此,每次应用程序 运行 时都会创建一个新节点。我希望能够更新现有节点(如果它已经存在于数据库中)而不是为其创建新节点。
不幸的是,文档还不是很适合初学者:/
要修改/改变现有数据,您必须 运行 一个 set
操作并提供像 <uid> <predicate> "value"
/ <objectYouWantToModify> <attributeYouWantToModify> "quotedStringValue"
这样的 rdf-triple。如果它不是属性而是边,则该值必须是另一个 <uid>
.
例如,完整的突变是
{
set {
<0x2> <name> "modified-name" .
}
}
.
终止序列,还有一个可选的第四个参数,您也可以使用它来分配 label
。
查看 https://www.w3.org/TR/n-quads/ 了解更多详情。