我只是想知道,mongoose和mongoJS的区别是什么。而且,如果我们使用mongoose或mongoJS,优势和缺点是什么? 因为我们知道有许多依赖用于连接NodeJS和MongoDB。例如mongoose和mongoJS。
答案 0 :(得分:1)
Mongoose是Mongodb的更高级别接口,实际上使用了MongoDB驱动程序mongodb.js。问题不在于哪个更好或更差,对我们来说问题是
<强>&GT;在Mongoose中ODM的好处是否超过了缺点?
如果您正在寻找对象建模(ODM)工具,以便您不必了解Mongodb的工作方式,那么Mongoose可能适合您。如果你想要一个快速的驱动程序并真正充分利用Mongodb,那么使用本机驱动程序。我们知道Mongodb的方式,所以Mongoose会放慢使用速度和我们的应用程序。
答案 1 :(得分:0)
如果您尝试连接到MongoDB数据库实例,则需要某种驱动程序。我从未听说过MongoJS,但也许你指的是MongoDB驱动程序?此驱动程序将帮助您与数据库进行通信,例如保存文档或检索它们。
MongooseJS是一个对象建模库。它位于MongoDB驱动程序之上,管理关系和对象映射。它可以检测对象中已更改的属性,然后运行验证和更新操作。
您不需要显式安装两者,因为Mongoose将在通过NPM安装时包含MongoDB驱动程序。如果您没有连接到MongoDB数据库,则不需要任何一个。
更好的是你更喜欢mongoose,因为它带有两个库,可用于调用mongoDB连接的实例和驱动程序。
答案 2 :(得分:0)
mongoose 是ORM - 对象关系映射。它添加了一个抽象层,其中包含许多操作数据的方法。如链接这样:
Tank
.find({ size: 'small' })
.where('createdDate')
.gt(oneYearAgo)
.exec(callback);
这可能对新手有好处,因为它易于使用,语法清晰。但它可能比本机方法慢。
MongoJS只是node-mongodb-native的包装器,有一些改进。什么是土生土长?它是一个允许从Node.js程序直接调用MongoDB的驱动程序。虽然MongoDB的原生版本是性能的最佳选择,但它遵循与Mongo Shell相同的原始语法,这对于新手来说非常复杂。
就个人而言,我最初使用的是Mongoose。现在我喜欢使用node-mongodb-native,但必须添加一些方法以使其更容易。无论如何,MongoJS是一个平衡解决方案。