2011-07-14 12 views
4

Node.jsで遊んで、私は本当に私のファイル構造を整理しておきたいと思っています。Node.jsとMongooseは、別のファイルにスキーマ定義を入れるのが遅すぎますか?

  • ノードのAppディレクトリ
    • App.js
    • コントローラ
      • UserController.js
      • OtherController.js
      • :通常、別の言語でのプロジェクトで私はこのような構造を持っているでしょう
    • モデル
      • UserModel.js
      • OtherModel.js

私が見る(潜在的な)問題はこれです:私は私のデータベースのマングースやMongoDBのを使用し、 "モデル" を定義するために、私はMongoose Schemaが必要です。これを行うには、Mongooseを使用して各コントローラとモデルファイルにデータベースに接続する必要があります。

私はこれらの技術についてほとんど知っていませんが、これは素早く雷になる可能性があり、問題になることはありません。それとも、私は避けて、すべてを1つの(非常に大きな)ファイルに押し込むのですか?

答えて

5

すべてのコントローラ/モデルファイルでmongoに接続する必要はありません。ただApp.jsで一度やってください。

+0

真剣に?だから、mongoose変数を宣言することなく、「必要な」ファイルに 'mongoose.Schema'と言うだけでいいですか? –

+0

いいえ私はできません...しかし、私はGLOBAL変数に割り当てることができると思います.... duh –

+2

あなたは混乱しています。はい、それぞれのファイルで 'var mongoose = require( 'mongoose');'を実行する必要がありますが、それはDBに接続しません。 'mongoose.connect(url)'への明示的な呼び出しだけが実際にデータベースにIOを行います。また、接続が確立されるまでは、mongoose操作がキューに入れられるため、接続前(または後)に心配することなく、マングース設定を行うことができます。 –

関連する問題