node.js - MongoDB 和 Mongoose 的区别

标签 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 驱动程序。这是最简单的拾取。这里的缺点是您必须编写大量代码来验证数据,并且出错的风险更高。

关于node.js - MongoDB 和 Mongoose 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28712248/

相关文章:

node.js - 使用node/request/sequelize/mysql将图像文件保存到数据库中

javascript - 同时更新 2 个不同的集合

javascript - 如何查找 mongodb 中任何属性中包含 x 的所有结果?

javascript - 没有数组就无法嵌套模式的原因是什么

javascript - 使用动态集合/模型进行并行查询

javascript - MongoError : Authentication failed. - 连接到 MongoLab 时遇到问题

javascript - 从 jasmine 获取种子随机数

node.js - 了解 Mongoose findOne().remove()

r - 无法使用 Mongolite R 验证凭据

database - 在数据库中查找相似的文档/记录