node.js - MongoDB 和 Mongoose 的区别

我想使用 mongodb 数据库,但我注意到有两个不同的数据库,它们有自己的网站和安装方法:mongodb 和 mongoose。所以我开始问自己这个问题:“我用哪一个?”。

所以为了回答这个问题,我问社区你是否可以解释这两者之间的区别是什么?如果可能的话利弊?因为他们真的和我很相似。

最佳答案

我假设您已经知道 MongoDB 是一个 NoSQL 数据库系统,它以 BSON 文档的形式存储数据。但是,您的问题是关于 Node.js 的包。

就 Node.js 而言,mongodb是用于与 mongodb 实例和 mongoose 交互的 native 驱动程序是 MongoDB 的对象建模工具

mongoose 构建在 mongodb 驱动程序之上,为程序员提供了一种对其数据建模的方法。

编辑: 我不想评论哪个更好,因为这会使这个答案变得固执己见。不过,我将列出使用这两种方法的一些优点和缺点。

使用 mongoose,用户可以为特定集合中的文档定义架构。它为MongoDB中数据的创建和管理提供了很多便利。不利的一面是,学习 mongoose 可能需要一些时间,并且在处理非常复杂的模式方面存在一些限制。

但是,如果您的集合架构不可预测,或者您希望在 Node.js 中获得类似 Mongo-shell 的体验,那么请继续使用 mongodb 驱动程序。这是最简单的拾取。这里的缺点是您必须编写大量代码来验证数据,并且出错的风险更高。

https://stackoverflow.com/questions/28712248/

相关文章:

node.js - 为什么 Mongoose 总是在我的收藏名称末尾添加一个s

mongodb - mongodb 在 CAP 定理中处于什么位置?

java - 获取带有 Java 驱动程序的 mongoDB 中最后插入的文档的 ID

mongodb - 蒙哥 : find items that don't have a certai

mongodb - 为什么索引的方向在 MongoDB 中很重要?

json - 将 Mongo 集合转储为 JSON 格式

mongodb - 包括所有现有字段并将新字段添加到文档

mongodb - 如何在不定义模式的情况下使用 Mongoose?

node.js - MongoDB atomic "findOrCreate": findOne,

mongodb - mongodb在运行吗?