我正在尝试在我的 node.js Web 应用程序中创建一个全局 MongoDB 连接,如下所示:
var MongoClient = require('mongodb').MongoClient;
var mconn = null;
MongoClient.connect('mongodb://myHost:27017/users', function(err, udb) { //open connection to MongoDB db
if (!err){
mconn = udb;
}
else
console.error("Could not connect to sql: ", err);
});
然后,我想通过这样的“socket.emit”事件传递这个连接:
io.sockets.on('connection', function(socket) {
socket.on('updates', function(PEMSID){
gps_helper.get_gps(PEMSID, conn, function(data){ //make initial query to GPS table for marker coordinates
socket.emit('message', {message: data, mongoConnection: mconn});
});
intervalID = setInterval(function(){
gps_helper.get_gps(PEMSID, conn, function(data){ //query GPS table for marker coordinates on an interval
socket.emit('message', {message: data, mongoConnection: mconn});
});
}, 30000);
});
这似乎不起作用,另一侧的“mongoConnection”值为空。可以这样发送吗?