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