无法从同一服务器上的子域访问MongoDB

时间:2013-05-05 18:04:04

标签: node.js mongodb nginx

我正在运行NginX,Node和Mongodb。似乎我无法从我正在运行的第二个应用程序访问同一个数据库。例如,当我这样做时,我没有得到任何回报:

collection.findOne({
    name: someName
}, function(err, results){
    // Returns no errors or results. Just stops working.
});

我可以从我的第一个应用程序中完全正常访问数据库,但不是第二个应用程序。 这是我用来连接两个应用程序中的数据库的代码。

Server = require('mongodb').Server,
Db = require('mongodb').Db,
db = new Db('database', new Server('localhost', 27017, { auto_reconnect: true }), { w: true });

任何人都知道问题可能是什么?

编辑:它与子域或端口有关吗?连接太多了?

编辑2(更多信息):

我用service mongodb start运行mongodb。

在我的/etc/mongodb.confbind_ip = 127.0.0.1dbpath=/var/lib/mongodb(其余为默认)

在我的两个应用程序中,我运行相同的代码来建立与数据库的连接,但只有第一个有效(我知道,因为我能够在我的第一个应用程序中从数据库中检索信息)。

应用程序在不同的端口上运行。第一个在端口1337上运行,第二个在3000上运行。

1 个答案:

答案 0 :(得分:0)

您使用'localhost'作为主机名来连接此服务器。

这意味着您只能从运行mongod的同一台计算机上连接该主机名。

除非您的所有应用与mongod在同一台服务器上运行,否则您需要更改连接代码以使用mongod服务器的实际主机名。