Sil*_*son 6 join graphql graphql-js
我们如何在 graphQL 中的公共列上进行数据连接。
例如在 SQL 中:选择 t.name 和 z.address,其中 t.id=z.id;
这是如何由 graphQL 查询管理的。
GraphQL 查询如何管理它?
简短的回答:它不是(托管的)。您必须将其写入解析器中。
您的 GraphQL 模式基本上只是表示节点的类型和表示图中边的字段的声明。GraphQL 是查询该图的语言。在架构中的每个边上,您编写一个函数,用于在查询遍历该边时如何获取数据。该函数称为“解析器”,您可以将几乎任何代码放入解析器中,只要它返回有效数据即可。这意味着 GraphQL完全、绝对独立于数据库。您的解析器负责与您的数据库对话。
因此,当涉及到 SQL 和连接时,进行查询的问题完全是 API 开发人员的责任。GraphQL 对 SQL 或连接一无所知,因此这本质上是您必须编写的应用程序的自定义逻辑。事实证明,构建 SQL 查询来解析 GraphQL 查询的数据是非常困难的,除非遇到急于获取太多数据或“N+1”问题等问题。
开源社区中出现了一些工具来帮助解决这个问题。以下是我在 Node.js 领域推荐的一些内容:
免责声明:我是《Join Monster》的共同创作者。
| 归档时间: |
|
| 查看次数: |
3546 次 |
| 最近记录: |