GraphQL:每个类型的子字段与可以使用 args 过滤的根查询字段?

GraphQL: sub-field per type vs root query field which can be filtered using args?

我正在开发一个投票应用程序,我有用户、投票和选票(用户和投票之间的中间人)。关于在我的模式中访问投票,我无法决定在 GraphQL 中做什么是正确的。

我的根查询中是否应该有一个 votes 字段,包含所有投票,可以通过 args 过滤,特定用户的投票,或特定民意调查?

我的根查询下是否应该有一个 votes 字段 - 它解析所有选票,每个选票下面有一个 user - 它解析所有用户的选票,每个选票下面都有一个poll- 哪个解决了所有投票的投票?

都还好吗?

我不是在问哪个可行,而是问哪个是正确的做法,谢谢。

后者是更简洁的方法。将每个用户的投票作为用户类型上的连接进行查询更有意义,这与民意调查相同。要获得单个投票,您的 getVote 查询应该接受唯一的投票 ID 作为查询的参数,如果您想检索所有内容,我建议为接受标准参数的 getVotes 查询实现分页,例如limit, cursor, orderBy, first, or last.

希望对您有所帮助!