Как мне вернуть только те данные, которые мне нужны, с помощью GraphQL? - PullRequest
0 голосов
/ 09 июля 2020

Я рад начать использовать GraphQL вместо REST, но я до сих пор не могу понять, как я могу возвращать только те данные, которые мне нужны из базы данных, не возвращая каждый раз все данные.

Пример: I запрашивать в базе данных пользовательский объект с 10 полями, я использую graphql для возврата всего объекта. Не проблема! Но затем я хочу снова запросить этот пользовательский объект с помощью graphql, но вернуть только одно поле. Я знаю, что graphql может фильтровать данные обратно для клиента, но мне все равно нужно будет запросить базу данных для всего объекта.

Есть ли способ заставить его возвращать только одно поле без необходимости возвращать обратно весь объект?

1 Ответ

0 голосов
/ 09 июля 2020

Это также зависит от базы данных, которую вы используете. Если вы используете mongodb, это не годится для использования агрегата для этой цели, поскольку они тяжелы для db и почти наверняка было бы лучше получить полный объект obj из db, а затем позволить graphql фильтровать то, что нужно клиенту.

Также помните, что GraphQL предназначен для отправки клиенту только того, что необходимо, но он не управляет тем, как вы получаете информацию (это может быть из базы данных, памяти, содержимого c и т. Д. c .. )

...