可以将GraphQL用于mongoDB或mySQL吗?

时间:2019-01-29 14:33:39

标签: graphql prisma-graphql

我已经开始学习GraphQL,发现GraphQL是一种很棒的查询语言。 但是我想知道是否可以对现有数据库(例如mongoDB或mySQL)使用GraphQL。 也请解释一下prisma。 棱镜是云数据库还是什么?

2 个答案:

答案 0 :(得分:0)

是的,您可以将其与现有数据库一起使用。

Prisma是使用GraphQL服务器构建的ORM层,它抽象出数据库并允许您使用GraphQL查询与数据库进行交互。它目前支持MySQL,MongoDB,AWS RDS和PostgreSQL。它不是数据库,但您可以将其托管在云上。

通常,您需要另一个GraphQL服务器,解析器内部将调用Prisma的GraphQL服务器。此GraphQL服务器是客户端调用的服务器。

答案 1 :(得分:0)

就像上一篇文章中提到的-是的,您可以。

一个示例,如果您在.NET堆栈上编写了后端应用程序-您可能会使用两个经过实际测试的主库,然后在实际项目中使用它们(google GraphQL.Net和第二个库的拼写应该几乎相同)

但是,这两个库都只为您提供对graphql查询的处理并描述方案(“帐户{id name}”意味着您应定义从数据库或其他数据源返回数据的解析器)

大多数人都将EF(EntityFramework)用作GraphQL和db之间的数据适配器。但是,从我的角度来看,这是没有用的,特别是如果我们正在谈论从db获取数据,那可能是数千个请求。 我们实现了基于轻量级数据库库的组件(几乎针对所有流行的数据库,如MSSQL,Postgresql,MySQL或Elasticsearch),使配置GraphQL方案的能力非常容易,并提供了诸如排序,分页和复杂过滤器之类的主要功能。