2012-03-16 40 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

相關問題