サーバーの起動時にmongo接続をグローバルobjに追加して、任意のファイルからアクセスできるようにします
// app.js
mClient.connect(mongoUrl, function(err, db) {
global.mongo = db;
});
そして、このように使用します
// store.js
global.mongo.collection(thisColl, function(err, collection) {
if (err) return self.emit("error", "collection not found");
collection.find(query, select).toArray(function(err, stores) {
if (err || !stores) return self.emit("error", "result not found");
return self.emit("done", stores);
});
});
しかし、時々、単独で修正されるエラーが発生し、方法がわかりません
// Error
{"code":"InternalError","message":"Cannot call method 'collection' of undefined"}
リクエストごとに接続を開いたり閉じたりするわけではないため、これを行っています