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

问题描述 投票:0回答:2

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

UPDATE (MATCH...RETURN...) SET...

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

UPDATE #12:34 SET...

但是我没有成功使用任何可以提出的语法。

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

orientdb orientdb2.2
2个回答
1
投票

是的,你可以做到,但MATCH必须返回持久记录,例如。

RETURN $elements

或(在3.0版)

RETURN expand(x)

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


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
)
)
© www.soinside.com 2019 - 2024. All rights reserved.