我将服务器启动时的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"}
我这样做是因为它没有在每个请求上打开/关闭连接
答案 0 :(得分:0)
我设法使它工作,也许不是更好的方式,但工作
// Create MongoDB connection
mClient.connect(mongoUrl, function(err, db) {
global.mongo = db;
// Start HTTP server
server.listen(4000, function() {
console.log("%s listening at %s", server.name, server.url);
});
});