開いたまま、あなたはこのようなコードを参照してください。のMongoDBを使用してのように多くの導入例でのMongoDBデータベース接続
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:port/adatabase", function(err, db)
{
/* Some operation... CRUD, etc. */
db.close();
});
のMongoDBは、他のデータベースシステムのようなものである場合は、open
とclose
操作は一般的に高価な時間的です。
だから、私の質問はこれです:それは単に、様々なデータベース関連の作業(コレクションへの挿入文書を行い、いくつかのモジュールグローバルに返さdb
値を割り当て、一度MongoClient.connect("...
を行うモジュールで様々な機能を持ってOKですが、更新文書など)をアプリケーションの他の部分から呼び出すと(その結果、db
の値が再利用されます)、アプリケーションが終了したら、close
を実行します。
つまり、open
とclose
が1回実行されます。データベース関連の操作を行う必要があるたびにではありません。そして、最初にopen\connect
の間に返されたオブジェクトを再利用し続けます。実際にすべてのデータベース関連の作業を終えたときには、close
という最後の値で処分してください。
close
の前にすべてのI/Oが非同期であるため、close
を発行する前に最後のデータベース操作が完了していることを確認してください。これはOKだと思われますが、私はMongoDBを初めて使ったので、何かが足りない場合に備えて再確認したいと思っていました。ありがとう!
[こちら](http://stackoverflow.com/questions/14495975/why-its-recommended-not-to-close-any-mongodb-connection-anywhere-in-node-js-code)もチェックしてください。あなたを助けるかもしれない –
興味深い....はい、役に立つ;どうもありがとうございました! – Lew