我需要在本地以及雲服務(如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