【发布时间】:2020-08-14 23:58:12
【问题描述】:
我正在使用 GraphQL 查询具有两种数据类型的数据库:User 和 Group。
组有一个字段users,它是该组中User 对象的数组。我在根目录有一个名为 groups 的字段,它返回我所有组的数组。
典型的查询可能如下所示:
{
groups {
id,
name,
users {
id,
name,
address,
email,
phone,
attitude,
job,
favoriteQuote,
favoriteColor,
birthday
}
}
}
问题是这些用户中的很多可以属于多个组,并且看到User 有很多字段,这会使响应变得非常大。
有没有办法为对象的第一个实例获取一组字段,并为响应中的每个其他实例获取不同的一组字段?
每个用户在响应中只需要name、job、email 等一次,之后只需要id(之后我可以自己进行标准化)。
或者
有没有办法只为组中的所有用户获取id 字段,并返回查询中引用的所有唯一User 对象的单独数组(不是全部 User 对象)?
【问题讨论】:
标签: graphql database-normalization