node,expressなWebアプリケーション開発の話です。
mongooseを使ったモデルをうまくファイル分割して配置したい、と思ってやってみました。
(うまいかどうか、正直自信はありません。)
- app.js
- package.json
- node_modules
- public
- routes
- views
- db.js
- mongodbへのコネクション処理を実装
- models
- mongodbのcollectionに対応したスキーマ定義ファイルを配置するディレクトリ
実装は次のようにしました。
db.js
var mongoose = require('mongoose');
mongoose.connect('mongodb://hostname:port/dbname');
models/somemodel.js
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var SomeModel = new Schema({
attr1: SomeType,
attr2: SomeType,
:
});
// 以下、モデルのロジックの実装。
これで、モデルごとにファイルを分割し、models配下に格納していくことができます。
// :
require('./db');
// :
また、モデル単位のファイルは、必要な場所でそれぞれrequireします。