目前我很困惑,主要问题是: Mongoose / Mongojs有什么用?如果我在没有Mongoose / Mongojs的情况下运行Node.js会有什么不同?
我无法找到关于Mongoose或Mongojs如何与Node.js结合在一起的大图。
Mongoose的口号:“node.js的优雅mongodb对象建模”没有帮助。
顺便说一句,我认为Mongoose和Mongojs正在为Node.js做同样的事情(即可以互换),但是this page似乎在描述Mongojs与Mongoose完全不同:“模拟mongodb API的简单驱动程序越多越好。”所以我把Mongoose和Mongojs放在一起可能是错的。如果是这样,请澄清。
也许我不应该使用Mongojs,因为stackoverflow甚至没有标签。如果是这样,请忽略我上面提到的有关Mongojs的所有内容。
关于使用Mongoose和Mongojs展示Node.js的主题,我应该知道this page上的其他内容吗?
感谢。
答案 0 :(得分:32)
快速发布。我一直在使用Node.js,说实话,我喜欢它,与Node一起,我一直在使用MongoDB,你可能知道如果你读了我的上一篇文章,不支持连接。
我对项目的首选是使用mongojs,因为它很简单 简单。它使用与MongoDB上直接使用的结构相同的结构 极少数例外,主要的是能够将回调传递为 一个论点。
我和mongojs的关系非常快,但后来我撞墙了。加入。是 由于同样的原因你不能用MongoJS做到这一点 使用MongoDB,你必须使用某种黑魔法 他们,这就是当Mongoose超越的时候。
说实话,我试图避免使用猫鼬,因为我认为这很难 使用,定义模型只是在使用MongoJS时“浪费时间” 你不需要。我错了。
底线。如果您的项目非常简单,没有加入,没有 复杂的功能,与MongoJS一起使用,非常简单但有限。如果 你想用疯狂的想法拯救世界,你需要更多 权力比超人,花一些时间学习猫鼬并使用它,它 会把你带到那里。
相信我,我花了两天时间用Mongoose重写一切,我 希望有人告诉我。
http://luiselizondo.net/blogs/luis-elizondo/mongoose-vs-mongojs-nodejs
答案 1 :(得分:16)
如果您没有使用数据库MongoDB,则无需任何类型的驱动程序/ odm解决方案。如果没有这些,NodeJS就可以正常运行。
如果您尝试连接到MongoDB数据库实例,则需要某种驱动程序。我从来没有听说过MongoJS,但也许你指的是MongoDB driver?此驱动程序将帮助您与数据库进行通信,例如保存文档或检索它们。
MongooseJS是一个对象建模库。它位于MongoDB驱动程序之上,管理关系和对象映射。它可以检测对象中已更改的属性,然后运行验证和更新操作。
长话短说:您不需要显式安装两者,因为Mongoose将在通过NPM安装时包含MongoDB驱动程序。如果您没有连接到mongodb数据库,则不需要任何一个。
答案 2 :(得分:7)
如果您要在应用程序中将MongoDB用作Node.js的数据库,那么您将使用Mongoose或MongoJS执行与数据库相关的操作,例如连接到MongoDB数据库,执行CRUD操作以及更多数据库操作。
Mongoose:是一个Node.js库,它提供类似于ORM的MongoDB对象映射,以及Node.js中熟悉的接口。 Mongoose是一个很棒的ODM(对象文档映射),它意味着Mongoose将数据库中的数据转换为JavaScript对象,以便在您的应用程序中使用。
Mongoose提供直接的,基于模式的解决方案来为您的应用程序数据建模。它包括内置的类型转换,验证,查询构建,业务逻辑钩子等,开箱即用
MongoJS:是一个MongoDB的Node.js模块,它尽可能地模拟官方的MongoDB API。它包含MongoDB原生,并且非常易于使用。