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

如何在EdgeDB中更新嵌套对象?已知Foo ID更新关联Bar的baz属性

通过Foo的ID更新关联Bar对象的baz属性

给定如下Schema:

type Foo {
    required link bar -> Bar; 
}

type Bar {
    required property baz -> bool;
}

已知某个Foo对象的ID,要更新它关联的Bar对象的baz属性,有两种实用方法:

方法一:分步操作

先通过Foo的ID找到对应的Bar的ID,再单独更新Bar:

  1. 查询关联Bar的ID:
SELECT Foo.bar.id FILTER Foo.id = <uuid>'你的Foo对象ID';
  1. 用查到的Bar ID更新baz:
UPDATE Bar
SET { baz := true } -- 这里替换成你需要的布尔值
FILTER Bar.id = <uuid>'上面查到的Bar-ID';

方法二:一步式嵌套更新

直接通过Foo的关联关系定位目标Bar,一次完成更新,更高效:

UPDATE (
    SELECT Foo.bar
    FILTER Foo.id = <uuid>'你的Foo对象ID'
)
SET { baz := false }; -- 替换为目标布尔值

或者用过滤条件的写法:

UPDATE Bar
SET { baz := true }
FILTER Bar = (SELECT Foo.bar FILTER Foo.id = <uuid>'你的Foo对象ID');

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 05:55:28