Node.js nodejs应用程序-mongodb连接失败,错误为“;“经济融合”;
背景信息 我正在玩我的第一个nodejs测试应用程序,它试图连接到远程mongodb 问题: 连接失败,出现以下消息:Node.js nodejs应用程序-mongodb连接失败,错误为“;“经济融合”;,node.js,mongodb,ubuntu-14.04,Node.js,Mongodb,Ubuntu 14.04,背景信息 我正在玩我的第一个nodejs测试应用程序,它试图连接到远程mongodb 问题: 连接失败,出现以下消息: admin@testdev:~/Documents/nodejs_tests$ sudo nodejs index.js Server has started. Request for / received About to route a request for: / inside db connect method Request for /favicon.ico rece
admin@testdev:~/Documents/nodejs_tests$ sudo nodejs index.js
Server has started.
Request for / received
About to route a request for: /
inside db connect method
Request for /favicon.ico received
About to route a request for: /favicon.ico
inside db connect method
MongoError: connect ECONNREFUSED
null
MongoError: connect ECONNREFUSED
null
以下是连接的逻辑:
function connect_nimble() {
console.log("inside db connect method");
MongoClient.connect("mongodb://10.1.1.1:27017/test", function(err,db) {
console.log(err);
console.log(db);
if(!err) {
console.log("booya! Connected to mongo");
return true;
}
});
}
我到目前为止检查的内容:
admin@mongotest:~$ tail -f /var/log/mongodb/mongod.log
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten]
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] db version v3.0.4
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] git version: 0481c958daeb2969800511e7475dc66986fa9ed5
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1f 6 Jan 2014
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] build info: Linux ip-10-45-73-23 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 BOOST_LIB_VERSION=1_49
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] allocator: tcmalloc
2015-07-21T09:52:41.452-0500 I CONTROL [initandlisten] options: { config: "/etc/mongod.conf", net: { bindIp: "127.0.0.1" }, storage: { dbPath: "/var/lib/mongodb" }, systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log" } }
**2015-07-21T09:52:41.470-0500 I NETWORK [initandlisten] waiting for connections on port 27017**
admin@mongotest:~$
有什么建议吗 我可以从您的日志中看到Mongo正在收听127.0.0.1。这可能是你的问题。您必须更改绑定ip地址配置设置,以允许Mongo侦听特定或所有ip地址。您可以在此处找到执行此操作的方法:打开终端 键入
mongod&
并检查堆栈跟踪
这是一个启动失败的例子
I initandlisten中的存储[initandlisten]异常:29数据目录/Data/db未找到,正在终止
I网络[initandlisten]关闭:将关闭侦听套接字。。。
I网络[initandlisten]关闭:将刷新诊断日志。。。
我控制[initandlisten]现在退出
要解决此问题,请创建文件夹/data/db
在终端中,键入mkdir/data/db
再次键入mongod
它起作用了
[initandlisten]**警告:未为数据库启用访问控制。
I CONTROL[initandlisten]**对数据和配置的读写访问不受限制。
我控制[initandlisten]
我控制[initandlisten]
我控制[initandlisten]**警告:软限制过低。文件数为256,应至少为1000
您的netstat输出清楚地显示mongod仅在127.0.0.1接口上侦听。您需要将连接字符串更改为mongodb://127.0.0.1:27017/test.see 我的回答:或者,正如其中一条评论所建议的,如果您的节点服务与Mongo运行在同一台机器上,请将您的连接字符串更改为localhost:mongodb://127.0.0.1:27017/test
# Turn on/off security. Off is currently the default
#noauth = true
#auth = true