私はNode.jsとMongoDBの両方が初めてですが、SOとmongoのドキュメントからいくつかの部分をまとめました。私は一箇所のみ1つの関数にDBを使用する必要がある場合は正常に見えるNode.jsとMongoDB、DBオブジェクトを再利用する
// Retrieve
var MongoClient = require('mongodb').MongoClient;
// Connect to the db
MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) {
if(!err) {
console.log("We are connected");
}
});
:
モンゴのdocumentetionは、例を示します。 SOの検索と読み取りでは、毎回新しい接続を開くべきではなく、プールを使用してデータベースオブジェクトを再利用することが初めてわかりました。この回答は非常に豊富ですが、最初にDBオブジェクトを取得する方法と再利用する方法がわかりません。
どのように置くことを約行くだろうapp.post('/employee', function(req, res){
//Put req.name in database
});
app.post('/car', function(req, res){
//Put req.car in database
});
:
は、私は私のApp.jsで上のNode.jsのコードを持っている、と私は、その後のようなデシベルに異なる操作を実行する必要がdifferntのルートを持っていると言いますこれらの2つのスニペットを一緒に何かに役立つ?
私は同様の質問をNode.js reuse MongoDB referenceに見つけましたが、この外観(http://mongodb.github.io/node-mongodb-native/driver-articles/mongoclient.html)では、db()ではなくMongoClientを使用する必要があります。そして私はそれが私の問題を解決するかどうか確信していません...
うーん、試してみる前にモジュールやものを読み上げる必要があります。 "module.exports.init"は私には見えます:)しかし、あなたが言っているのは、 "app.js"のコードは一度しか実行しないでください。そして、 "randomFile.js"のコードは私が使っているコードです私のapp.post( '/ employee')にありますか?私の初めてのことで、1つのApp.jsファイルにすべてがあります。 – user2288749
そうです、 'init'関数は一度だけ呼び出されるべきです。 'randomFile.js'は、コード内のどこからでも初期化されたデータベースを使用できることを示す例です。私はapp.jsのように簡単に使うことができますあなたは、ノードを使って作業する場合、モジュールの仕組みを理解しておくべきですが、実際には難しくありません。 –
あなたの時間と労力に感謝して、私は今日働いている!私がサーバーを起動すると、すぐにDBへの5つの接続が得られます。それは悪いですか? (デフォルトの許可された接続なので、推測5) 私はinit呼び出しを変更しました。どのようにモジュールを使用していますか?http://pastebin.com/QFdZY51F – user2288749