2017-02-10 84 views
0

我正在使用Graph库为了正确保存我的数据。 我想知道,如果有更新现有实体的方法,而不重复实体2次:用户将被允许更新实体的两个值。 另外,我想知道是否有一个适当的保存方法用Graph可以更新保存到我的数据库中的实体吗?

我给你举个例子

let person = Entity(type: "Person") 
    person["name"] = //not editable 
    person["work"] = //editable 
    person["age"] = //editable 
graph.sync() //or something like graph.update 

写这,我只是创建一个新的实体,这不是我想要的。也许,我必须搜索实体,每次删除它,然后插入新实体?希望不要。

感谢您给予的任何帮助!

回答

0

是的,你可以更新实体。

您需要先搜索您想要更新的那个。例如:

let graph = Graph() 
let search = Search<Entity>(graph: graph).for(types: "Person") 
for entity in search.sync() { 
    // do something 
} 

一旦你有你想要更新的实体,您可以设置任何属性,组或标签按通常。

entity["name"] = "Daniel" 

从那里,你需要调用graph.sync()graph.async(),使所有被保存。

这就是它:)

+0

使用搜索绝对解决了问题,谢谢! – Simone

+0

我正在快速阅读Graph,并在此背景下思考,请原谅Noob问题,但从SQL的角度来看,搜索是否允许直接引导到上面某个人的特定实例上?因此,我们可以设置代码来仅查找name =“drew”吗? –

+0

是的,你可以使用属性参数:'搜索(graph:graph).for(类型:“Person”)。where(properties:(“name”,“drew”)' – CosmicMind

相关问题