全书目录

第十六篇:GraphQL 完全指南 —— 智能问询总台宇宙

第六章:嵌套查询 —— 总台可以一路追问到子部门

1 分钟 237 字 第 310 / 962 个阅读单元

字段选择一旦成立,嵌套查询 就自然出现了。

因为有些字段不是叶子值,而是另外一个对象,甚至对象列表。

例如:

graphql
query ResidentDeskScreen {
  resident(id: "r-1001") {
    id
    name
    tickets(status: OPEN) {
      id
      title
      status
      device {
        id
        name
        location
      }
    }
  }
}

这张问询单的意思是:

  1. 先找住户
  2. 再看这个住户的开放工单
  3. 再看每个工单关联的设备
  4. 再拿设备名称和位置

ASCII 路线图:

text
resident("r-1001")
   └── tickets(status: OPEN)
         └── device
               ├── id
               ├── name
               └── location

你会发现,GraphQL 很像总台里的“智能转接”:

  • 先查住户档案
  • 再转工单系统
  • 再转设备档案
  • 最后统一拼装回执

这也是 GraphQL 很适合复杂业务域的原因。
因为真实系统里,数据本来就不是平的,而是有关系网的。