0

我正在运行 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.

在我的/etc/mongodb.conf我有bind_ip = 127.0.0.1dbpath=/var/lib/mongodb(休息是默认的)

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

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

4

1 回答 1

0

您正在使用“localhost”作为主机名来连接到该服务器。

这意味着您将只能从mongod使用该主机名运行的同一台机器进行连接。

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

于 2013-05-05T18:13:48.530 回答