node + mongo,除非在localhost上,否则无法插入到mongo

时间:2012-09-24 13:10:39

标签: node.js mongodb appfog

出于某种原因,当我运行本地时,以下插入远程mongo服务器,但是当我在 appfog 服务器上运行时,它不会插入。< / p>

function record_visit(req, res){
    res.write("<br/>Connecting to "+mongourl+"<br/>");
    mongo.connect(mongourl, function(err, conn){
        res.write("<br/>mongo.connect success. Err = "+err+"<br/>");
        conn.collection('ips', function(err, coll){
            res.write("<br/>conn.collection called on collection ips, err = "+err+"<br/>");
            object_to_insert = { 'ip': req.connection.remoteAddress, 'ts': new Date() };
            coll.insert( object_to_insert, {safe:true}, function(err){
                res.write("Inserted in collection 'ips' Err= "+err);
                res.end('<br/>Done\n');
            });
        });
    });
}

我的输出是:

Connecting to [correct authenticated url to mongo here]

mongo.connect success. Err = null

conn.collection called on collection ips, err = null
Inserted in collection 'ips' Err= null
Done

我是否需要在某处指定一些权限?

2 个答案:

答案 0 :(得分:0)

你可以尝试在mongod上使用--bind_ip arg将服务器绑定到机器的实际ip。默认行为是监听所有本地IP,但这并不意味着它绑定到服务器的真实IP。

答案 1 :(得分:0)

有几个原因可能无法连接到AppFog上的mongo服务。这是一个关于如何开始在AppFog上使用Mongo的文档URL:

http://docs.appfog.com/services/mongodb

如果该文档不起作用,您可以直接通过support@appfog.com与他们的支持联系,或者您可以直接从他们的活跃Google群组中的客户那里获得反馈:https://groups.google.com/forum/#!forum/appfog-users