我正在运行NginX,Node和Mongodb。而且我似乎无法从我正在运行的第二个应用程序访问相同的数据库。例如,我没有得到任何回报,当我做:无法从同一服务器上的子域访问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(详细信息):
我执行MongoDB与service mongodb start
。
在我/etc/mongodb.conf
我有bind_ip = 127.0.0.1
和dbpath=/var/lib/mongodb
(其余为默认)
在这两个我的应用我运行相同的代码来建立与数据库的连接,但只有第一个作品(我知道,因为我我能够从我的第一个应用程序中的数据库检索信息)。
这些应用程序在不同的端口上运行。第一个在端口1337
上运行,第二个在3000
上运行。
您能否包含有关您的配置的所有信息?包括mongod配置,以及如何知道第一个应用程序的连接成功并且来自第二个应用程序的连接不成功? – 2013-05-05 18:48:34
你能否检查你的mongod日志 - 这是真正的方法来知道你是否实际上成功连接 - 可能你没有得到任何数据,因为你可能会查询错误的数据库或错误的集合? – 2013-05-05 19:10:57
我刚刚清理了我的日志并进行了检查。当我从我的第一个应用程序连接时,我得到连接日志。但在我的第二个应用程序,它只是说: '太阳5月5日23:15:58.342 [initandlisten]等待27017端口连接' 我很确定我正在查询正确的数据库/收集(通过代码复制和多次检查)。它可能与Nginx有关吗? – 2013-05-05 19:18:58