2012-03-16 41 views
13

我需要在本地以及云服务(如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是一个不错的选择,还是有更好的选择?

我想有很多相互关联的东西,我感到困惑,并希望解释它们如何融合在一起以及标准做法是什么。对于这是值得的,这是一个个人项目,但我想公开,所以我需要它与廉价或免费托管服务。

+3

Mongo-native是一个用于MongoDB的Node.js驱动程序,它与官方10gen软件包附带的mongo二进制文件(默认情况下运行在SpiderMonkey上,不会执行异步IO)不同。所以它不是多余的,从数据库服务器的角度来看,它的行为就像一个客户端。 – Ren 2012-03-16 18:12:30

+0

我想它是一个好主意,以避免太多的依赖,但NPM使它相对轻松地管理依赖关系,并在NodeJS世界......依赖发生!我只提到它,因为我已经使用猫鼬很多,它只是非常无痛。对我个人而言,好处远大于风险。 – 2012-03-16 19:10:11

+0

我明白你的意思@JonathanRowny,我想我倾向于尝试开始接近金属,所以我明白我做得更好。我想它的确不是一个依赖关系的问题,而是更多的层次问题。一旦我做了一个更直接使用Mongo的小型项目,我会考虑使用Mongoose来完成下一个项目。 Mongojs似乎对我来说是合适的抽象级别,但它似乎并不普遍,所以我可能会跳过它并使用mongo-native。 – rob 2012-03-16 20:08:43

回答

15

这取决于您的需求。我是mongodb本地驱动程序的作者,我会说如果你没有非常具体的性能需求猫鼬可能是有道理的,因为它可以让你为你的文档做一些建模,并且更接近ODM的概念。对于你使用的包装,有一大堆。看看

http://mongodb.github.io/node-mongodb-native/

https://github.com/christkv/node-mongodb-native

我已经尝试添加,可能是相关的所有项目和每次我建立它拉动的统计,以纪念项目文档作为主动或不主动。

如果您需要原始性能,请直接使用我的驱动程序或其中一个像mongojs或mongoskin一样的薄包装。

我正在和Aaron的猫鼬作家之一谈论可能试图在猫鼬和司机之间建立一个框架的一半,但这只是一个谈话。

+3

你与Aaron的谈话有何更新? – 2013-03-17 20:42:44

相关问题