使用GraphQL连接到多个数据库

使用GraphQL连接到多个数据库,graphql,Graphql,我们正在使用apollo服务器2构建新的GraphQLAPI。我们的大部分数据都生活在MongoDB中,我们可以通过mongoose轻松访问。但是在我们的mySQL数据库中存在许多数据点。我们如何连接到GraphQL API中的多个数据库以连接到mongodb和mySQL?Apollo server与您使用的数据库数量无关,因此您应该能够设置节点进程允许的尽可能多的数据库连接 您必须定义解析逻辑,可能使用DataLoader,其中一些字段从SQL数据库获取数据,一些字段从mongoDB获取数据

我们正在使用apollo服务器2构建新的GraphQLAPI。我们的大部分数据都生活在MongoDB中,我们可以通过mongoose轻松访问。但是在我们的mySQL数据库中存在许多数据点。我们如何连接到GraphQL API中的多个数据库以连接到mongodb和mySQL?

Apollo server与您使用的数据库数量无关,因此您应该能够设置节点进程允许的尽可能多的数据库连接

您必须定义解析逻辑,可能使用DataLoader,其中一些字段从SQL数据库获取数据,一些字段从mongoDB获取数据

您可能需要考虑的另一个策略是为这些数据库创建单独的(微)服务。然后,GraphQL服务器将从这些服务获取其数据,并完全放弃数据库处理。

以下是您的层:

客户端层(浏览器)具有GraphQL客户端-->http服务器层(例如Apolo)-->GraphQL服务器提供程序,该层理解GraphQL查询。它保存您的GrapgQL解析器。-->数据存储

配置数据库提供程序所需的位置是GraphQL Enpoint所在的位置

就我而言,我有Java背景。设置应该是Javascript客户端,能够构建GraphQL查询。能够缓存GraphQL查询响应的Http服务器。与GraphQL提供程序一起提供的Jetty服务器。那么我的数据源就可以在那里配置了

与Node.js的结构非常相似。层、构建块是相同的