支持GraphQL中的聚合函数

前端之家收集整理的这篇文章主要介绍了支持GraphQL中的聚合函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
GraphQL对分析解决方案非常感兴趣(想想一个显示图形的webapp).但我找不到任何使用聚合函数的GraphQL示例.这是我的前端完成的大多数查询的主要方面.

对于我的解决方案,我们有3个典型的后端调用.

>搜索
>聚合
>时间序列

假设我们在GraphQL中指定了这种类型

type Person {
  name: String
  age: Int
  create_time: Date
}

>搜索

这似乎很好地由GraphQL处理.这里没问题.

恩.搜索名为Bob的人的年龄
{
人(姓名:“Bob”){
年龄
}
}

>聚合

这是我想在饼图中显示信息的典型情况.所以,我想说我想按年龄计算人数.

这将是PostgreSQL查询

SELECT age,count(*) from Ticket group by age;

GraphQL中的等价物是什么?

>时间序列
这是我想在BarChart中显示信息的典型情况,其中X轴为时间.

恩.假设我想计算每小时创建的用户数.

这将是PostgreSQL查询

SELECT date_trunc('hour',create_time) as create_time_bin,count(*) from Person group by create_time_bin order by create_time_bin ASC;

什么是GraphQL等价查询

GraphQL,在一天结束时,响应您定义的类型.您只需将该数据放入类型中即可.无论这是针对这些不同查询的特定类型,还是针对现有类型的数据的字段,都取决于您,但这完全可以归结为. GraphQL在定义类型和所有查询将返回的内容方面确实需要更多的努力,这使得它更加严格,但是其他方面的想法是一些很酷的功能,比如内省和类型检查.如果将这种“临时”数据结构放入GraphQL类型似乎没有逻辑意义,那么如果需要其他数据源,则使用非GraphQL端点并不违法.

猜你在找的设计模式相关文章