OrientDB Studio - 从 UPDATE 获取字符串值 .. UPSERT RETURN BEFORE
OrientDB Studio - get string value from UPDATE .. UPSERT RETURN BEFORE
classco
有个属性idLastPost STRING
。我想在其他查询中使用存储在 idLastPost
中的 @rid
,但我无法以字符串形式访问 UPDATE ... BEFORE
的结果。
代码:
var db = orient.getGraph();
var idLastPost=db.command('sql',
'UPDATE co SET idLastPost=#12:1 UPSERT RETURN BEFORE @this.idLastPost WHERE @rid=#15:1'
);
db.command('sql','CREATE edge nextPost FROM '+idLastPost+' TO #16:1);
当我在 Orient Studio 中 return idLastPost
第一次查询后,我得到 @rid
as
[{
"@type": "d",
"@version": 0,
"value": "#12:2"
}]
但是我不能在第二个命令中使用这个结果。发生的解析错误表明,idLastPost
被解释为 [Ljava.lang.Object;@61ee4a70
。显然 idLastPost
是一个 Java 数组。
我已经尝试将第二个查询中的 idLastPost
替换为:
- idLastPost[0]
- idLastPost[0].value
- idLastPost.value
- idLastPost.getValue()
试试这个
db.command('sql','CREATE edge nextPost FROM '+idLastPost[0].getProperty("value")+' TO #16:1);
classco
有个属性idLastPost STRING
。我想在其他查询中使用存储在 idLastPost
中的 @rid
,但我无法以字符串形式访问 UPDATE ... BEFORE
的结果。
代码:
var db = orient.getGraph();
var idLastPost=db.command('sql',
'UPDATE co SET idLastPost=#12:1 UPSERT RETURN BEFORE @this.idLastPost WHERE @rid=#15:1'
);
db.command('sql','CREATE edge nextPost FROM '+idLastPost+' TO #16:1);
当我在 Orient Studio 中 return idLastPost
第一次查询后,我得到 @rid
as
[{
"@type": "d",
"@version": 0,
"value": "#12:2"
}]
但是我不能在第二个命令中使用这个结果。发生的解析错误表明,idLastPost
被解释为 [Ljava.lang.Object;@61ee4a70
。显然 idLastPost
是一个 Java 数组。
我已经尝试将第二个查询中的 idLastPost
替换为:
- idLastPost[0]
- idLastPost[0].value
- idLastPost.value
- idLastPost.getValue()
试试这个
db.command('sql','CREATE edge nextPost FROM '+idLastPost[0].getProperty("value")+' TO #16:1);