OrientDB:如何在UPDATE操作中使用MATCH?

时间:2018-03-23 22:21:56

标签: orientdb orientdb2.2

是否可以在UPDATE操作中使用MATCH?我尝试过这样的事情:

UPDATE #12:34 SET...

我认为它会起作用,因为这样做:

{{1}}

但是我用任何语法都没有成功。

因此,如果支持,那么使用的语法是什么?

2 个答案:

答案 0 :(得分:1)

是的,你可以这样做,但MATCH必须返回持久性记录,例如

RETURN $elements

或(在3.0版中)

RETURN expand(x)

如果您使用的是v 3.0,请考虑您刚给我一个发现错误的机会(谢谢!),因此RC2上会出现NullPointerException。我已修复它,修复程序将在几分钟后出现在快照中,并将与第一个3.0.0 GA一起发布

答案 1 :(得分:0)

效果很好

UPDATE EDGE Custom_Family_Of_Custom 
SET survey_status = 'value_1'
WHERE @rid in (
SELECT level1_e.@rid FROM (
MATCH {class: Custom, as: custom, where: (custom_uuid = 'param_uuid_1')}
.bothE('Custom_Family_Of_Custom') {as: e} 
.bothV('Custom') {as: v, where: (custom_uuid = 'param_uuid_2')} 
return e
)
)