Начал использовать GraphQL , сделал по документации запросы, мутации и.т.п Однако такое чувство что работать это должно все по другому и писать лишь на клиенте запросы К примеру у меня есть Рестораны, и мне надо их получать по категориям Код Resolve у меня выглядит таким образом
Restaurants: async (parent, args) => {
const { category } = args
if(category !== ''){
return await Restaurant.find({ categories: category })
} else{
return await Restaurant.find()
}
},
Restaurant: async(parent, args) => {
return await Restaurant.findById(args.id).populate('kinds')
},
KindsByRestaurant: async(parent, args) => {
const { id } = args
const kindsByRestaurant:any = await Restaurant
.findById(id)
.select('kinds')
.select('-_id')
.populate('kinds')
return kindsByRestaurant.kinds
}
Что не совсем верно, ведь по сути я все запросы описываю вручную. Я предполагаю что здесь должен быть лишь один запрос в базу и на клиенте Apollo Client писать запросы с получением нужных категории, ид и.т.п