Я учусь использовать GraphQL в эти дни.На мой взгляд, для построения запроса мне нужно построить три части:
- Схема
type User{
id String
name String
cars [Car!]!
}
type Car{
id String
}
type Query{
user(id: String): User
}
Функция DB Query
{
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
}
}
}
Этот запрос возвращает имя пользователя и его автомобили.Функция запроса БД всегда запрос для автомобилей.
Но иногда мне просто нужна информация пользователя:
{
user (id: "1") {
name
}
}
Я не хочу запрашивать автомобили, поэтому янадеюсь сделать мою функцию запроса БД может автоматически выбирать запрос автомобилей или нет.
Как я могу это сделать?