我正在运行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.conf
我bind_ip = 127.0.0.1
和dbpath=/var/lib/mongodb
(其余为默认)
在我的两个应用程序中,我运行相同的代码来建立与数据库的连接,但只有第一个有效(我知道,因为我能够在我的第一个应用程序中从数据库中检索信息)。
应用程序在不同的端口上运行。第一个在端口1337
上运行,第二个在3000
上运行。
答案 0 :(得分:0)
您使用'localhost'作为主机名来连接此服务器。
这意味着您只能从运行mongod
的同一台计算机上连接该主机名。
除非您的所有应用与mongod
在同一台服务器上运行,否则您需要更改连接代码以使用mongod
服务器的实际主机名。