26

主要问题

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

我找不到任何关于 Mongoose 或 Mongojs 如何与 Node.js 结合在一起的好解释。

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

小问题

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


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


关于使用 Mongoose 和 Mongojs 给出 Node.js 的大图的主题,我还应该知道 这个页面上的什么?

谢谢。

4

3 回答 3

33

路易斯·埃利松多说:

快速发帖。我一直在使用 Node.js,老实说,我喜欢它,连同 Node,我一直在使用 MongoDB,如果你阅读了我的上一篇文章,你可能知道它不支持连接。

我在一个项目中的第一选择是使用 mongojs,因为它很简单。它使用与您在 MongoDB 上直接使用的结构相同的结构,但有极少数例外,主要是能够将回调作为参数传递。

我用 mongojs 移动得非常快,但后来我碰壁了。加入。使用 MongoJS 是不可能的,原因与使用 MongoDB 无法做到的原因相同,你必须使用某种黑魔法来做到这一点,这就是 Mongoose 擅长的时候。

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

底线。如果您的项目真的很简单,没有连接,没有复杂的功能,那么使用 MongoJS 真的很容易但有限。如果你想用你疯狂的想法拯救世界并且你需要比超人更多的力量,花一些时间学习 Mongoose 并使用它,它会带你到那里。

相信我,我只花了两天时间用 Mongoose 重写了所有东西,我希望有人告诉过我。

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

于 2014-04-12T19:48:54.193 回答
17

如果您不使用数据库 MongoDB,则不需要任何类型的驱动程序/odm 解决方案。没有这些,NodeJS 将运行得很好。

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

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

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

于 2013-05-05T00:16:24.097 回答
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 原生并且非常易于使用。

于 2016-09-09T11:15:36.660 回答