2016-07-05 2 views
1

Я работаю над приложением для голосования, у меня есть пользователи, опросы и голоса (посредник между пользователями и опросы). У меня возникли проблемы с выбором того, что нужно делать в GraphQL, в отношении доступа к голосам в моей схеме.GraphQL: поле под поля для каждого типа и корневого запроса, которое можно отфильтровать с помощью args?

Должен ли я иметь поле votes в моем корневом запросе, содержащий все голоса, которые могут быть отфильтрованы через args, для голосов конкретного пользователя или для конкретного опроса?

Должен ли я иметь votes поля под моим корневой запросом - который разрешает всем голоса, еще один под каждый user - который разрешает всем голоса пользователя, а другой под каждый poll - который решает всем голоса в опроса ?

Оба в порядке?

Я не спрашиваю, какие работы, но что правильно делать, спасибо.

ответ

3

Последний - более чистый подход. Имеет смысл иметь голоса для каждого пользователя, запрашиваемого в качестве соединения по типу пользователя, а также с опросами. Чтобы получить один голос, ваш запрос getVote должен принять уникальный идентификатор Vote в качестве аргумента запроса, и если вы хотите получить все, я бы предложил реализовать разбиение на страницы для запроса getVotes, который принимает стандартные аргументы, такие как limit, cursor, orderBy, или последний.

Надеюсь, это поможет!

+0

Спасибо, это тоже подход, который я принимаю прямо сейчас, но это мешает мне на мутации реле, любой шанс, который вы могли бы мне помочь? Вы тоже знакомы с реле? –

+0

Нет проблем! И да, с чем я могу вам помочь? – vince

+0

Речь идет о определении толстого запроса для этой (несколько сложной) структуры схемы, я действительно спросил ее здесь: http://stackoverflow.com/q/38192260/3137842. благодаря! –