想要改进这个问题吗? 更新问题,以便 editing this post 提供事实和引用来回答它.
关闭5年前。
我刚刚开始使用 mongodb
,最近我浏览了 Mongoose
,这是 MongoDb 的 ODM。
在文档中,我找不到为什么我们需要使用 Mongoose
而不是直接使用 Mongodb,除了一个原因是我们可以从 Mongoose
定义应用程序模式。请提供使用月光的所有其他原因:
最佳答案
主要优点是对纯 mongo 的抽象。
许多来自 SQL 数据库类型的开发人员对使用没有定义结构的动态集合感到非常不舒服。因此,Schemas 首先对此有所帮助。
此外,它还实现了验证和其他简洁的功能,以确保您的架构在从集合中插入/更新/查找文档时保持一致。
它还创建了 Model 抽象,使其更易于使用,因此看起来您只使用对象而不是纯数据。
还有许多其他好东西,例如 middleware、plugins、population、validation。请查看mongoose docs欲了解更多信息:
就我个人而言,我更喜欢纯 mongo,因为它与官方 10gen mongo 文档更加一致,并且不会创建总是需要您必须遵循的一些限制和规则的抽象。
关于node.js - 为什么我们应该使用 mongoose ODM 而不是直接使用 Mongodb 和 Nodejs/Express 的 mongodb 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18531696/