GraphQL 和猫鼬有啥区别?

Posted

技术标签:

【中文标题】GraphQL 和猫鼬有啥区别?【英文标题】:What is the difference between GraphQL and mongoose?GraphQL 和猫鼬有什么区别? 【发布时间】:2021-08-07 02:37:49 【问题描述】:

我正在阅读一本关于 GraphQL 的书,他们声称 GraphQL 的一个优点是从数据库中选择一个字段。请参阅下面的示例:

在这张图片上,他们只从数据库中的电影中选择了标题。我可以用猫鼬做同样的事情,使用“选择”。

我能说 mongoose 已经是 GraphQL 了吗?

【问题讨论】:

【参考方案1】:

一种是查询语言,可以通过进入数据库并收集数据来解决,另一种是一种友好的包装器,可帮助您与 NoSQL 数据库 MongoDB 进行交互。

你不能说它已经是 GQL,因为它不处理 GraphQL 语言,它处理 JS 查询。它们是具有不同语法的不同语言。

您可以使用 Mongoose 为 GraphQL 查询编写解析器,但它们仍然是两个独立的东西。

【讨论】:

【参考方案2】:

我问完这个问题后,我对这件事提出了一些想法,确实,正如zero298所说,它们是两个不同的东西。 Here,他们使用这两种技术构建了一个应用程序,并证明了它更好的理由。 上述文章的摘录: “GraphQL 是一种技术,可以帮助开发人员更快地构建更强大的软件。在单个请求中请求您需要的所有信息的能力改变了游戏规则。它简化了我的 API 后端开发以供使用通常依赖于 RESTful API 的移动和 Web 应用程序。一个普通的 RESTful API 可能有多个用于各种实体(例如用户、提交等)的端点;使用 GraphQL,您可以使用 GraphQL 的查询一次性获取所有这些信息语言,也称为 GQL。” 我添加了这个额外的答案,这样如果有人落入同一个陷阱,他们就可以轻松脱身!

相关问题:

Do I need mongoose with graphql?

GraphQL with mongoose

【讨论】:

以上是关于GraphQL 和猫鼬有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

如何从graphql突变返回新记录而不是null

操作参数和 GraphQL 变量有啥区别?

GraphQL 和 SPARQL 有啥区别?

GraphQL 订阅和 WebSocket 协议有啥区别?

使用graphql的nestJS中的解析器/服务有啥区别?

带有猫鼬的 GraphQL