gpt4 book ai didi

graphql - GraphQL 中聚合函数的支持

转载 作者:行者123 更新时间:2023-12-03 11:41:17 25 4
gpt4 key购买 nike

我对 GraphQL 的分析解决方案非常感兴趣(想想显示图表的 web 应用程序)。但我找不到任何使用聚合函数的 GraphQL 示例。这是我的前端完成的大多数查询的主要方面。

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

  • 搜索
  • 聚合
  • 时间序列

  • 假设我们在 GraphQL 中指定了这种类型
    type Person {
    name: String
    age: Int
    create_time: Date
    }
  • 搜索

  • GraphQL 似乎很好地处理了这一点。这里没有问题。

    前任。搜索名为 Bob 的人的年龄
    {
    人(姓名:“鲍勃”){
    年龄
    }
    }
  • 聚合

  • 这是我想在饼图中显示信息的典型情况。所以假设我想按年龄计算人数。

    这是 PostgreSQL 查询:
    SELECT age, count(*) from Ticket group by age;

    GraphQL 中的等价物是什么?
  • 时间序列
    这是典型的情况,我想在条形图中显示信息,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 在定义类型和所有查询将返回什么方面确实需要更多的努力,这使得它更加僵化,但想法是另一方面还有一些很酷的特性,比如自省(introspection)和类型检查。如果将这种“ad hoc”数据结构放入 GraphQL 类型似乎没有逻辑意义,那么如果您需要其他数据源,则使用非 GraphQL 端点并不违法。

    关于graphql - GraphQL 中聚合函数的支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35036221/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com