使用 gremlin 查询更新 Orientdb 上的节点

Updating node on Orientdb with gremlin query

我在使用带有以下代码的 gremlin 更新 Orientdb 中节点的属性时遇到问题。 属性 和 setProperty 似乎都不适用于 OrientDB。

g.V('@rid','#100').property('text','new updated text'))
g.V('@rid','#100').setProperty('text','new updated text'))

但是,我能够使用 OrientDB 支持的类似于 SQL 的查询来更新节点。

update classname set text = 'new updated text' where @rid = #100

但我需要在 OrientDB 中使用 gremlin 查询来更新节点。我查看了 gremlin 查询教程,大多数人建议 .属性('text','new updated text') 应该有效。

是不是OrientDB只支持有限的gremlin查询而不是全部?

您似乎有点混合了 TinkerPop 2.x 和 3.x 语法。我对 TinkerPop 2.x 的记忆真的很模糊,但我认为你只需要迭代你的遍历并使用第二种语法。因此,假设 g.V('@rid','#100') returns 一个顶点你应该做:

g.V('@rid','#100').next().setProperty('text','new updated text'))