我需要在本地以及云服务(如Nodester和MongoHQ)上运行带有node.js的MongoDB。我想有最小的依赖关系,例如我现在不想真正使用Express或Mongoose。基本上,我想尽可能“直接”运行它使用mongoDB和node.js的最佳方式是什么?
我已经在本地使用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)不同。所以它不是多余的,从数据库服务器的角度来看,它的行为就像一个客户端。 – Ren 2012-03-16 18:12:30
我想它是一个好主意,以避免太多的依赖,但NPM使它相对轻松地管理依赖关系,并在NodeJS世界......依赖发生!我只提到它,因为我已经使用猫鼬很多,它只是非常无痛。对我个人而言,好处远大于风险。 – 2012-03-16 19:10:11
我明白你的意思@JonathanRowny,我想我倾向于尝试开始接近金属,所以我明白我做得更好。我想它的确不是一个依赖关系的问题,而是更多的层次问题。一旦我做了一个更直接使用Mongo的小型项目,我会考虑使用Mongoose来完成下一个项目。 Mongojs似乎对我来说是合适的抽象级别,但它似乎并不普遍,所以我可能会跳过它并使用mongo-native。 – rob 2012-03-16 20:08:43