通过 socket.io 将 Mongo 连接传递给 JQuery 代码
Passing a Mongo connection to JQuery code via socket.io?
我正在尝试在我的节点.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"值在另一边为空。可以这样发送吗?
这是不可能的:您通常无法序列化,因此无法传输不透明的数据类型,例如网络连接或文件句柄。
如果可能的话,请考虑安全风险:恶意客户端将完全访问您的数据库。
您将不得不创建某种接口,其中客户端代码将某些消息发送到服务器,服务器执行适当的数据库操作并发回结果(同样,请确保不要使此接口过于通用,以便恶意客户端代码可以对数据库执行随机查询)。
相关文章:
- 如何动态插入jquery代码
- 如何在php变量中嵌入JQuery代码
- 将 jQuery 代码添加到 Index.aspx 页面
- jquery代码在Mozilla中有效,但在其他浏览器上无效
- Jquery:代码在rails中的页面加载时未执行
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- 我的jquery代码不起作用.为什么?
- 将javascript代码转换为jquery代码时出错
- 在CodeIgniter视图中将Javascript或jQuery代码作为PHP文件编写可以吗
- 按键时停止jquery代码
- 在Grails中的gsp中执行jquery代码
- 这个jquery代码是如何工作的
- 如何在加载角度函数后运行jQuery代码
- 如何使用Javascript或jQuery代码调用mousemove
- 如何使用我的Jquery代码创建委托事件侦听器
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 将JQuery代码转换为等效的JavaScript代码
- JQuery代码语法问题?(“不允许内联控制结构”)
- 使用一个 jquery 代码关闭多个模态
- 如何简化动画jQuery代码