【发布时间】:2020-02-23 18:45:47
【问题描述】:
我是 GraphQL 的新手,我正在努力理解如何以与处理普通 SQL 查询相同的逻辑方式访问/引用表。我为 postgres 创建了一个 docker 容器,并使用一个简单的数据表初始化了数据库。
为了创建表,我在\init 目录中运行了它。 (顺便说一句,运行 Windows)
CREATE TABLE fda.nfl (
"team" TEXT,
"conference" TEXT,
"division" TEXT,
"city" TEXT,
"wins" INT,
"losses" INT,
"ties" INT
);
在 GraphiQL 中,我可以使用这个查询简单地选择所有内容:
{
allNfls {
edges {
node {
team
conference
division
city
wins
losses
ties
}
}
}
}
我想运行一些可以垂直和水平聚合的东西,例如sum(losses) as total_losses 或 (wins / (wins + losses + ties)) as win_ratio。我不确定如何使用 GraphQL 处理这两种情况。我还需要查询某些条件,但是将列名作为参数传递给node 似乎不起作用,即node(team: "Chiefs") 吐出关于allNfls 类型的错误
是否可以在 GraphQL 中引用这样的 Postgres 表?
【问题讨论】:
-
不是直接的;他们的数据模型相当不同。您可能会看到 Prisma 提供的内容。将 GraphQL 视为在 REST API 中选择字段和跟踪链接可能会好一点,而不是像 SQL 这样的查询语言:唯一的“连接”或“计算”选项是模式作者选择公开的东西.
标签: postgresql graphql postgraphile