【发布时间】:2019-07-26 17:42:39
【问题描述】:
这些天我学习使用 GraphQL。在我看来,要构建一个查询,我需要构建三个部分:
- 架构
type User{
id String
name String
cars [Car!]!
}
type Car{
id String
}
type Query{
user(id: String): User
}
- 数据库查询功能
{
user: async function ({id}) {
const user = await DB.user.findOne({id});
const userCars = await DB.car.find({userId: id});
user.cars = userCars;
return cars;
}
}
- 客户端查询
{
user (id: "1") {
name
cars {
id
}
}
}
该查询返回用户的姓名和他的汽车。 DB 查询函数总是查询汽车。
但有时我只需要用户信息:
{
user (id: "1") {
name
}
}
我不想查询汽车,所以我希望我的数据库查询功能可以自动选择是否查询汽车。
我该怎么做?
【问题讨论】:
标签: graphql graphql-js