0

Web で検索してみましたが、mongodb.connection オブジェクトを再利用する方法の明らかなコード サンプルは見つかりませんでした。これは私が現在持っているものであり、これが問題ないかどうか誰かが確認してください.

var app = express();
var mongodb = require('mongodb').MongoClient, format = require('util').format;
var db = null;

app.get('/api/v1/put/:var1/:var2', function(req, res){
  collection = db.collection('collection');
  /** .. logic ... **/
});

mongodb.connect('mongodb://127.0.0.1:27017/mydb', function(err, mdb){
    db = mdb;
    app.listen(8000);
});
4

2 に答える 2

1

あなたのアプローチには、アプリケーションが実行されると高速ルートが登録されるという問題があります。Web サーバーへのアイドル状態の接続がある場合、それらはできるだけ早く処理され、db is undefined.

これを防ぐために、データベースが接続された後にのみ高速ルーティングを登録することをお勧めします。
同様に、リクエストごとにコレクションを取得する代わりに、コレクションをキャッシュすることもできます。

于 2013-07-04T09:10:29.093 に答える