首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我们为什么需要,使用mongoose有什么好处

我们为什么需要,使用mongoose有什么好处
EN

Stack Overflow用户
提问于 2013-08-30 19:22:00
回答 2查看 31K关注 0票数 72

我刚刚开始使用mongodb,最近我使用了Mongoose,一个开放对象模型框架。

在文档中,我找不到为什么我们需要使用Mongoose。我可以给出的一个原因是,我们可以从Mongoose定义应用程序模式。

我正在寻找更多可能的原因,以及吸引我使用Mongoose的需求。

请列出所有可能的优势和使用Mongoose的原因/需求。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-30 19:29:31

与纯mongo相比,它的主要优势是抽象化。

许多来自SQL数据库类型的开发人员对使用没有定义结构的动态集合感到非常不舒服。因此,模式首先对此有所帮助。

此外,它实现了验证和其他整洁的特性,以确保在从集合中插入/更新/查找文档时您的模式是一致的。

它还创建了模型抽象,这使得它更容易使用,因此看起来您只处理对象,而不是纯数据。

还有许多其他的好东西,比如中间件插件populationvalidation。有关更多信息,请查看mongoose docs

就我个人而言,我更喜欢纯mongo,因为它与官方的10gen mongo文档更一致,并且不会创建抽象,这总是会耗费您必须遵循的一些限制和规则。

票数 74
EN

Stack Overflow用户

发布于 2016-03-14 14:19:39

如果您正在使用Node.js,并且您是一个非常新的NoSQL,我建议您首先使用原生节点驱动程序(Mongodb)。

原因:

  1. 节点驱动程序和Mongo shell之间的语法非常相似,因此您将更快地掌握如何使用MongoDB。只有当你扩展到一个大型应用程序时,
  2. 模型才有用,该应用程序需要分解成MVC系统(mongoose是你的模型)。

使用Mongoose的利弊:

优点:

  • 最大的优势在于它内置了数据验证功能(对允许添加或更新数据库的数据的要求)。(但不是那么难)
  • 它将从应用程序的其余部分中抽象出大部分mongoDB代码。

缺点

  • 最大的缺点是直接从模式开始,这将真正违背使用NoSQL的目的,并且在快速模式阶段,很难体验拥有一个松散的结构化数据系统的好处,所有的数据操作都将很好地适合可以用模型封装的特征。封装最初尤其困难-除非您在开始之前对数据流有一个非常清楚的概念(这是理想的,但当您在构建概念上较新的东西时,这并不容易,并且需要进行大量的实验和change/redesign).
票数 57
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18531696

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档