【发布时间】:2012-04-01 16:37:25
【问题描述】:
我需要在本地以及 Nodester 和 MongoHQ 等云服务上运行带有 node.js 的 MongoDB。我希望有最小的依赖,例如我现在不想使用 Express 或 Mongoose。基本上,我想尽可能“直接”运行它
我已经使用 Macports 在本地安装了 Mongo,然后使用 Mongojs 模块从我的 node.js 应用程序中与之对话。这工作正常,在本地运行。但是我看到 Mongojs 应该包装了 mongo-native 模块。这是否使它与 Mongo 的 Macports 安装冗余,或者 mongo-native 只是一个客户端? Mongojs 是否会通过 Nodester 上托管的应用程序与 MongoHQ 上托管的数据库进行通信?最后,Mongojs是一个不错的选择,还是有更好的选择?
我想有太多相互关联的事物让我感到困惑,我想解释一下它们是如何组合在一起的,以及标准做法是什么。对于它的价值,这是一个个人项目,但我想将其公开,所以我需要它与廉价或免费的托管服务一起使用。
【问题讨论】:
-
Mongo-native 是 MongoDB 的 Node.js 驱动程序,它不同于官方 10gen 附带的 mongo 二进制文件(其中之一,默认在 SpiderMonkey 上运行并且不做异步 IO)包裹。所以它不是多余的,从数据库服务器的角度来看,它确实像一个客户端。
-
我想避免过多的依赖项是个好主意,但 NPM 使得管理依赖项和在 NodeJS 世界中相对轻松......依赖项发生了!我只提到它是因为我已经使用了很多 Mongoose,而且它非常无痛。就我个人而言,收益远大于风险。
-
我明白你的意思@JonathanRowny,我想我倾向于从更接近金属的地方开始,所以我明白我做得更好。我想这真的不是依赖问题,而是更多的一层。一旦我更直接地使用 Mongo 做了一个小项目,我将考虑在下一个项目中使用 Mongoose。 Mongojs 对我来说似乎是正确的抽象级别,但它似乎不是很流行,所以我可能会跳过它并使用 mongo-native。
-
@Ren,这很有帮助,谢谢。
标签: javascript node.js mongodb cloud-hosting