Mongoose 与原生 MongoDB 相比有啥好处?

Posted

技术标签:

【中文标题】Mongoose 与原生 MongoDB 相比有啥好处?【英文标题】:What are the benefits of Mongoose vs native MongoDB?Mongoose 与原生 MongoDB 相比有什么好处? 【发布时间】:2018-12-22 12:29:21 【问题描述】:

此问题的先前答案:

Difference between MongoDB and Mongoose

Why do we need, what advantages to use mongoose

这些答案中给出的主要原因是“模式”。从 3.6 开始,mongodb 引入了自己的 schema:

https://docs.mongodb.com/manual/core/schema-validation/

这些更彻底,默认情况下适用于插入和更新。

是否还有更重要的理由使用 Mongoose,因为这是主要的原因,现在它似乎已集成到原生 API 中。我还注意到 mongoose 缺少 mongodb 中实现的各种新功能。

【问题讨论】:

【参考方案1】:

Mongoose,我现在正在使用的驱动程序,如果您是初学者,学习起来会更加直观。许多人批评猫鼬,因为他们声称收集方案的创建与 mongodb 和 NoSQL 数据库的想法相反;但是我认为,即使使用本机 mongoDB 驱动程序,您也必须始终创建最少的原理图,即使是用于验证并了解您在数据库中输入的内容。 Mangusta 非常方便,因为除了允许创建模板之外,还可以在文档中声明方法和控制事件。此外,猫鼬会自动执行额外的验证,并具有更多的搜索功能。猫鼬的真正缺点是性能。 (在此页面上有两个驱动程序的性能差异https://medium.com/@bugwheels94/performance-difference-in-mongoose-vs-mongodb-60be831c69ad) 自然而然地,猫鼬的所有这些特征都放弃了表演。 很难为您提供驱动程序,因为它基于您所考虑的项目类型。

【讨论】:

以上是关于Mongoose 与原生 MongoDB 相比有啥好处?的主要内容,如果未能解决你的问题,请参考以下文章

有啥方法可以使用 mongoose 从 mongodb 批量操作中获取修改后的 IDS?

[转] mongoDB与mongoose

如果通过 Mongoose 在 Mongodb 的另一个文档中存在引用,有啥更好的方法可以防止文档被删除?

mongoose.connect() 中的 useNewURLParser 和 useCreateIndex 有啥作用?

mongoose.connect() 中的 useNewURLParser 和 useCreateIndex 有啥作用?

Mongoose:Model.create 和 Collection.insert 有啥区别