【发布时间】:2018-05-14 14:02:26
【问题描述】:
我正在尝试在 orientdb 中运行批处理命令,我正在更新记录(可以是边或顶点)。我正在尝试在批处理命令中运行它,以便从数据库中取回属性“名称”和删除(假设“名称保证存在)。
所以,我有以下批处理命令:
begin;
let a0 = update #44:845 merge {"name": "B4"} return after ;
let a1 = update #44:849 merge {"name": "Name4"} return after ;
let a2 = update #42:297 merge {"name": "Name2"} return after ;
let a3 = update #43:278 merge {"name": "B1"} return after ;
let a4 = update #42:298 merge {"name": "B2"} return after ;
let a5 = update #29:15698 merge { "name": "Name1""} return after ;
commit retry 100;
return [$a0,$a1,$a2,$a3,$a4,$a5]
但不是返回对象,而是返回 orientdbLinks,这不允许我获取对象的名称。
在我的批处理函数结束时,我想返回一个这样的字典: {"B4", "44:845", "Name3": "44:849", . . .}
这可能吗?我尝试了很多不同的命令
let a0 = update #44:845 merge {"name": "B4"} return after ;
let a0 = update #44:845 merge {"name": "B4"} return after [$current@rid, $current.name]; #This fails entirely
let a0 = update #44:845 merge {"name": "B4"} return after $current;
但无论我尝试什么,它只是返回一个 OrientDBRecordLink 而不是正确的 OrientDBStorageObject。据我所知,没有办法从 OrientDBRecordLink 获取属性,是吗?
有人知道我该怎么做吗?
【问题讨论】:
-
现在返回的究竟是什么?只是对对象的引用?
-
目前返回的是一个 pyorient.otypes.OrientRecordLink 对象