GraphQL 是一种用于 API 的查询语言,它提供了一种更高效、更强大、更灵活的方式来查询和修改数据。GraphQL 可以方便地查询嵌套数组数据,本文将介绍如何使用 GraphQL 查询嵌套数组数据。
嵌套数组数据的查询方式
GraphQL 中可以使用列表类型来表示数组,使用非列表类型来表示单个值。要查询嵌套数组数据,我们需要使用嵌套的列表类型。例如,假设我们有以下数组:
-- -------------------- ---- ------- - - --- -- ----- ----- -------- - - ----- ---- -- - ----- ---- - - -- - --- -- ----- ----- -------- - - ----- ---- -- - ----- ---- - - - -
我们可以使用以下的 GraphQL schema 来表示它:
-- -------------------- ---- ------- ---- ------ - --- --- ----- ------- -------- --------- - ---- ----- - ----- ------- - ---- ----- - ------- ---------- -
我们可以使用以下的 GraphQL 查询来获取所有人的姓名和兴趣:
query { people { name hobbies { name } } }
查询的结果如下:
-- -------------------- ---- ------- - ------- - --------- - - ------- ----- ---------- - - ------- ---- -- - ------- ---- - - -- - ------- ----- ---------- - - ------- ---- -- - ------- ---- - - - - - -
嵌套数组数据的变更方式
GraphQL 不仅支持查询嵌套数组数据,还支持修改嵌套数组数据。例如,我们可以使用以下 GraphQL schema 来表示数组:
-- -------------------- ---- ------- ---- ------ - --- --- ----- ------- -------- --------- - ---- ----- - --- --- ----- ------- ------- ---- - ----- ---------- - --- --- ------- ---- - ---- -------- - ---------------- ------------- ------ -
我们可以使用以下 GraphQL 变更来将篮球的评分设为 5:
mutation { rateHobby(hobby: { id: "2", rating: 5 }) { name rating } }
变更的结果如下:
{ "data": { "rateHobby": { "name": "篮球", "rating": 5 } } }
总结
GraphQL 提供了强大的数据查询和修改功能,可以轻松地查询和修改嵌套数组数据。在编写 GraphQL schema 和查询时,需要注意数据类型和结构,以便正确地查询和修改数据。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64597134968c7c53b0b90e02