首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过JQuery传递到socket.io代码的Mongo连接?

通过JQuery传递到socket.io代码的Mongo连接?
EN

Stack Overflow用户
提问于 2013-11-07 18:53:14
回答 1查看 148关注 0票数 0

我正试图在我的MongoDB web应用程序中创建一个全局node.js连接,如下所示:

代码语言:javascript
运行
复制
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事件传递这个连接:

代码语言:javascript
运行
复制
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”值在另一边是空的。可以这样寄吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-07 19:00:18

这是不可能的:您通常不能序列化不透明数据类型(如网络连接或文件句柄),因此无法传输。

如果可能的话,考虑安全风险:恶意客户端将完全访问您的数据库。

在客户端代码向服务器发送某些消息的情况下,服务器将执行适当的数据库操作并返回结果(同样,请确保该接口不太通用,从而恶意客户端代码可以对数据库执行随机查询)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19844251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档