为什么我需要MongoJook或Mongojs的Node.js?

主要问题

目前我很困惑,主要问题是: Mongoose / Mongojs有什么用? 如果我运行没有Mongoose / Mongojs的Node.js会有什么不同?

我无法find关于Mongoose或Mongojs如何与Node.js配合在一起的大图的任何好解释。

Mongoose的口号是:“对node.js的优雅的mongodb对象build模”没有帮助。

小问题

顺便说一下,我认为Mongoose和Mongojs为Node.js(即可互换)做同样的事情,但是这个页面似乎在描述与Mongoose完全不同的Mongojs:“尽可能模仿mongodb API的简单驱动程序”。 所以我把Mongoose和Mongojs放在一起可能是错误的。 如果是这样,请澄清。


也许我不应该使用Mongojs,因为stackoverflow甚至没有标签。 如果是这样,只是忽略我上面所说的关于Mongojs的一切。


在关于使用Mongoose和Mongojs来展示Node.js的大图的同时,我还应该了解这个页面上还有哪些内容?

谢谢。

如果你不使用MongoDB,那么数据库就不需要有任何types的驱动程序/ odm解决scheme。 没有这些,NodeJS将运行得很好。

如果您试图连接到MongoDB数据库实例,那么您将需要某种驱动程序。 我从来没有听说过MongoJS,但也许你是指MongoDB驱动程序 ? 该驱动程序将帮助您与数据库进行通信,例如保存文档或检索文档。

MongooseJS是一个对象build模库。 它位于MongoDB驱动程序之上,pipe理关系和对象映射。 它可以检测对象中已更改的属性,然后运行validation和更新操作。

长话短说:您不需要明确安装两者,因为Mongoose在通过NPM安装时将包含MongoDB驱动程序。 如果您没有连接到mongodb数据库,则不需要这两者。

路易斯Elizondo说:

快速发布。 我一直在使用Node.js,说实话,我喜欢它,随着Node,我一直在使用MongoDB,你可能知道如果你读了我的最后一篇文章,不支持连接。

我的第一个select是使用mongojs,因为它很简单。 它使用与MongoDB上直接使用的结构相同的结构,主要是能够将callback作为parameter passing。

我用mongojs快速移动,但是后来我撞上了墙。 join。 MongoJS做不到这一点是出于同样的原因,你不能用MongoDB来做到这一点,你必须使用某种黑魔法才能做到这一点,这就是当Mongoose超越的时候。

说实话,我试图避免使用Mongoose,因为我认为这很难使用,定义模型只是“浪费时间”,而不需要MongoJS。 我错了。

底线。 如果你的项目非常简单,没有任何连接,没有复杂的function,去MongoJS,真的很容易,但有限。 如果你想用疯狂的想法拯救世界,而且你需要比超人更多的权力,花一些时间学习mongoose并使用它,它会把你带到那里。

相信我,我花了两天用Mongoose重写所有的东西,我希望有人告诉我之前。

http://luiselizondo.net/blogs/luis-elizondo/mongoose-vs-mongojs-nodejs

如果您要在应用程序中使用MongoDB作为Node.js的数据库,那么您将使用Mongoose或MongoJS来执行与数据库相关的操作,如连接到MongoDB数据库,执行CRUD操作以及更多的数据库操作。

Mongoose:是一个Node.js库,它提供了类似于ORM的MongoDB对象映射,在Node.js中有一个熟悉的接口。 Mongoose是一个很好的ODM(对象文档映射),它意味着Mongoose将数据库中的数据转换为JavaScript对象以供您的应用程序使用。

Mongoose提供直接的,基于模式的解决scheme来build模您的应用程序数据。 它包括内置的types转换,validation,查询构build,业务逻辑钩子等等

MongoJS:是一个用于MongoDB的Node.js模块,它尽可能地模拟官方的MongoDB API。它包装了MongoDB本身,并且非常易于使用。