2015-06-22 59 views
0

我對JavaScript相當陌生,而且我正在忙於使用節點測試應用程序和MongoDB。我可以在JavaScript中查看數據庫實現的一些模式?

我在一個點,我想從應用程序的數據庫端開始,但我不知道什麼樣的模式最常用於這樣的堆棧,更重要的是,爲什麼。

到目前爲止,我有這樣的:

var mongoClient = mongodb.MongoClient; 
var mongoUrl = 'mongodb://localhost:27017/MyDB' 

    function openConnection() { 
     var database; 
     mongoClient.connect(mongoUrl, function (err, db) { 
      if (err) { 
       return null; 
      } else { 
       database = db; 
      } 
     }); 
     return database; 
    } 

我最初的想法是有一個connect()函數,並執行在各自職能的插入/更新,喜歡的東西的請求:

function addPerson() { 
    var db = openConnection(); 
    db.doInsert(myObject); 
    db.close(); 
} 

完成我的例子的一些首選方法是什麼?

另外,在旁註中,即使mongoClient.connect中的數據庫對象按預期工作,openConnection()函數始終返回null。當mongoClient.connect()函數退出時,'db'對象是否會失去上下文?

回答

2

這是一個非常廣泛的問題,部分基於觀點。這個問題應該關閉,但我仍然想給你一些建議。

曾經有Active Record pattern,這已被證明是非常難以維護。

解決方案是DAO pattern,但如果做得對,這會增加很多代碼。

因此,相對最近(大約5-8年前,由於Domain Driven Design享有更廣泛的受衆),在許多框架中都可以看到存儲庫模式

這種模式似乎很適合其他模式和技術。

所以,我建議你去嘗試一下,它應該是非常簡單的,就是this tutorial。本教程下面是一條指向this github repository的評論。如果你不是完全基於node.js/mongoDB和純JS,那麼它就避免了咖啡腳本。

+0

偉大的文章鏈接,謝謝一噸。 –

相關問題