2015-12-16 128 views

回答

5

GraphQL本身没有自动聚集功能。

您可以添加一个名为summary的字段,并在resolve函数中计算总数。

5

...需要graphql返回聚合计数?这可以做到吗?

是的,可以这样做。

GraphQL会自动为您做?不,因为它不知道/关心你从哪里获取数据源。

怎么样? GraphQL并没有规定你如何获取/变更用户查询的数据。取决于您的实施情况,以获取所需的汇总数据。您可以直接从MongoDB获取汇总数据并将其返回,或者从数据源获取所需的所有数据并自行进行汇总。

11

您将定义一个新的GraphQL类型,它是一个包含列表和数字的对象。该数字将由解析器函数定义。

在您的GraphQL服务器上,您可以定义解析器功能,并且作为其中的一部分,您必须编写执行任何计算和查询以获取聚合计数所需的代码。

这与您将如何编写REST API的对象序列化程序或运行任何需要数据库查询以计算聚合计数的自定义REST API端点类似。

GraphQL的优势在于它可以让前端更强大地确定具体返回的数据。您在GraphQL中编写的一些内容与您为REST API编写的内容相同。

+3

很好的解释!我认为主要的要点是GraphQL不会为你做计算和聚合。所有这些都应该发生在GraphQL查询对象的解析函数中,这需要被告知检索所需的预先聚合的数据,对其进行处理,然后返回结果。 – batjko