Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – nodejs应用程序 – mongodb连接失败,错误“ECONNREFUSED”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
背景信息

我正在玩第@L_262_0@尝试连接到远程mongodb的nodejs测试应用程序.

问题:

连接失败并显示以下消息:

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;
                }
        });
}

我到目前为止检查过的

>我确保数据库服务器正在使用端口27017.这是我重新启动数据库时在mongodb日志中看到的:

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**

>我通过启动“mongo”确保我有@L_262_0@名为“test”的数据库,然后使用“use test”/“use admin”命令切换到测试数据库.
>我不相信我已经开启了授权.这是我在mongo.conf文件中所拥有的:

为了证明它,为了通过命令行进入服务器上的测试数据库,我只需要键入“mongo”,然后认情况下,我在测试数据库中.所以我想我可以放心地假设我没有任何身份验证.

>为了防万一,我也检查了netstat的端口号码:

admin @ mongotest:〜$sudo netstat -taupen | grep mongo
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 117 6465150 18792mongod
管理员@ mongotest:〜$

我正在阅读手册,看​​看还有什么我应该检查.我也在阅读各种类似的stackoverflow文章,但我还没有找到我的答案.

有什么建议么?

解决方法

你的日志中可以看到Mongo在127.0.0.1上正在侦听.这可能是你的问题.您将不得不更改bind-ip地址配置设置,以允许Mongo监听特定或所有IP地址.你可以在这里找到如何做: Cannot connect to mongodb using machine ip

大佬总结

以上是大佬教程为你收集整理的node.js – nodejs应用程序 – mongodb连接失败,错误“ECONNREFUSED”全部内容,希望文章能够帮你解决node.js – nodejs应用程序 – mongodb连接失败,错误“ECONNREFUSED”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。