You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ArcadeDB中更新检索得到的顶点?

ArcadeDB中RoteImmutableVertex的更新解决方法

方法1:直接使用SQL更新语句

无需先查询顶点对象,直接通过UPDATE命令完成更新,效率更高:

String updateQuery = "UPDATE TestVtx SET name = 'value' WHERE $xy_io = ?";
db.command("sql", updateQuery, "30").close();

方法2:将不可变顶点转为可变实例

如果必须先获取顶点再修改,可通过顶点ID重新加载出可变对象:

while(rs.hasNext()){
    Vertex immutableVtx = rs.next().getVertex().get();
    // 重新加载为可修改的顶点实例
    Vertex mutableVtx = db.load(immutableVtx.getId());
    mutableVtx.setProperty("name", "value");
    mutableVtx.save();
}

方法3:查询时强制返回可变顶点

在SELECT语句中添加FETCHPLAN *:1,让查询直接返回可变类型的顶点:

String queryPositional = "SELECT FROM TestVtx WHERE $xy_io=? FETCHPLAN *:1";
rs = db.command("sql", queryPositional, "30");
while(rs.hasNext()){
    Vertex vtx = rs.next().getVertex().get();
    // 此时vtx为可变类型,可直接调用更新方法
    vtx.setProperty("name", "value");
    vtx.save();
}

内容的提问来源于stack exchange,提问作者Ironluca

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 09:12:04