2013-03-13 47 views
1

什麼是從Express訪問mongodb數據庫的正確方法?如何在express/mongoose應用程序中正確構建數據庫調用?

現在,我包括我的數據庫處理程序db.js其中包含mongoose.connect('mongodb://localhost/db');每次我需要執行數據庫調用。

我應該使用相同的連接,並通過回調傳遞我的數據庫對象,或者我可以每次只包含我的數據庫文件?

換句話說,mongoose.connect總是重新使用相同的連接?

編輯:我的源代碼是公開的here,我是相當新的的NodeJS/Express應用程序,我不知道如果我的申請被妥善安排......

回答

1

你只需要連接到數據庫一旦。在其他文件中,您需要包含模型並使用它們讀取/寫入數據庫集合。

編輯:查看你的代碼 - 爲什麼不移動你的連接到你的初始化腳本,然後包含db.js來訪問你的模型?

+0

我剛把'connect()'移到'instance.js'。它似乎現在正在工作。所以在'db.js'裏面包括我的模型應該足夠了嗎? – 2013-03-13 17:19:55

+1

一旦您成功調用連接,Mongoose會將您的狀態存儲爲已連接狀態。您需要在每個引用它們的JavaScript文件中包含模型,否則它們不會被定義。當你不包含db.js時,看看會發生什麼 - 你會得到一個錯誤「Note not not defined」(或者類似的東西)。 請接受答案... – Destron 2013-03-14 03:40:11

+0

謝謝你的回答! – 2013-03-14 19:58:32

相關問題