2011-07-14 66 views
4

玩弄Node.js,我真的想保持我的文件結構組織。通常情況下,在其他語言的項目,我將有一個這樣的結構:Node.js和Mongoose,將模式定義放在單獨的文件中速度太慢?

  • 節點app目錄
    • App.js
    • 控制器
      • UserController.js
      • OtherController.js
    • 型號
      • UserModel.js
      • OtherModel.js

的(潛在的)問題,我看到是這樣的:我用貓鼬和MongoDB對我的數據庫,以確定一個 「模範」我需要一個Mongoose Schema,爲了做到這一點,我必須在每個Controllers和Model文件中使用Mongoose連接到數據庫。

我對這些技術知之甚少,這可能是閃電般快速,永遠不會成爲問題,我不會有任何線索。或者這是我應該避免的,只是將所有內容都放在一個(非常大的)文件中?

回答

5

您不需要在每個控制器/模型文件中連接到mongo。只需在App.js中完成一次,就完成了。

+0

認真嗎?所以我可以在沒有聲明mongoose變量的情況下在任何「必需」文件中說'mongoose.Schema'? –

+0

不,我不能......但我敢打賭,我可以將它分配給GLOBAL變量.... duh –

+2

你會感到困惑。是的,您需要在每個文件中執行'var mongoose = require('mongoose');'但不連接到數據庫。只有對'mongoose.connect(url)'的顯式調用實際上會對數據庫執行IO操作。此外,貓鼬的操作會在連接之前排隊等待,因此您可以在連接之前(或之後)進行貓鼬安裝。 –