最初に、サーバーからデータベース接続を作成する際のパフォーマンス コストを知るという点で、私はかなり新しいので、意図していないことを言ったらすみません。
私は現在、node.js の mongodb クラスを受講していますが、最初に提供されたブログ サーバーのコードがどれほどシンプルでエレガントであるかに本当に魅了されました (主にデータベースへのクエリを実装するだけです)。次のようになります。
var express = require('express')
, app = express()
, cons = require('consolidate')
, MongoClient = require('mongodb').MongoClient
, routes = require('./routes');
MongoClient.connect('mongodb://localhost:27017/blog', function(err, db) {
if(err) throw err;
app.set('views', __dirname + '/views');
app.use(express.cookieParser());
app.use(express.bodyParser());
routes(app, db);
app.listen(3000);
console.log('Express server listening on port 3000'); });
ご覧のとおり、サーバーが何かを実行するように構成される前に、データベース接続が作成されます。この型紙を使って制作しても大丈夫ですか?db がすべてのルーティングを処理する index.js に渡されるため、モジュール化されているように見えます。
私が以前に行ったことは、データベースにクエリを実行するリクエストごとに接続を確立し、それを閉じることです (pg モジュールを使用)。これが良いアイデアかどうかは、実際にはわかりません。しかし、上で説明したそのようなパターンが問題ないことを確認したいと思います。そうでない場合は、代替手段を提供して理由を説明してください(mongodbの代替構造/パターンおよび/またはmongooseのような代替モジュールではないpg)。
ありがとう!