返回顶部
首页 > 资讯 > 前端开发 > JavaScript >node连接MongoDB数据库错误:MongoServerSelectionError: connect ECONNREFUSED ::1:27017(解决方案)
  • 937
分享到

node连接MongoDB数据库错误:MongoServerSelectionError: connect ECONNREFUSED ::1:27017(解决方案)

node连接MongoDB数据库报错MongoServerSelectionError 2023-05-14 20:05:36 937人浏览 安东尼
摘要

目录一、问题描述二、原因查找三、解决办法四、node版本降级一、问题描述 描述:使用node连接mongoDB数据库时发生报错,MonGoServerSelectionError:

一、问题描述

描述:使用node连接mongoDB数据库时发生报错,MonGoServerSelectionError: connect ECONNREFUSED ::1:27017
如图所示:

二、原因查找

前提条件:MongoDB数据库的服务已成功启动。

在这里插入图片描述

通过查找资料发现,报错原因是nodejs在后台使用 ipv6,所以 localhost 不是指向 127.0.0.1 而是指向 :::1。

三、解决办法

1.降级node版本到16以下,包含16;
2.url使用ip mongodb://127.0.0.1:27017/xxx。

通过实践证明:
如果node版本在16及以上则选择方法一,否则方法二仍会出现同样的报错信息,此时选择方法一。

四、node版本降级

这里选择NVM管理node来重新下载node。

1.将原安装node的文件夹中的文件全部删除;
2.通过控制面板卸载node程序;

3.下载NVM管理工具https://GitHub.com/coreybutler/nvm-windows/releases

4.解压缩该zip文件夹并安装nvm管理工具(自由选择安装路径)。并验证nvm是否安装成功。

5.安装node.js
(1) 在命令行工具中输入nvm ls available,查看node.js的版本号:

注意: 我们要下载的是16以下的node版本,但是上图没有,可以通过底部提示的网址查看完整的版本信息以及对应的npm版本(后面会用到):

(2) 在命令行输入:nvm install node版本号 下载安装node;如:node install 15.14.0
安装成功后,输入:mvm use node版本号,表示当前你要使用这个版本的node。
验证node是否安装成功:

(3) 验证npm是否安装:

如图,表明当前我们安装的node没有自动安装npm包。

(4) 安装npm。下载对应node版本的npm版本:

查看node版本对应的npm版本:Https://nodejs.org/zh-cn/download/releases/
npm下载地址:http://npm.taobao.org/mirrors/npm/

如:node15.14.0版本对应的npm版本为7.7.6

(5) 下载完成后解压到nvm安装目录的对应node版本的node_modules目录下,并将文件名改为npm:

(6) 将npm中bin目录下的npm文件和npm.cmd文件复制粘贴到node版本的根目录下:

(7) 验证npm是否安装成功:

(8) 为node.js配置环境变量:此电脑 -> 属性 -> 高级系统设置 -> 环境变量 -> 系统变量 -> path -> 编辑 -> 新建 -> node的安装路径

注意: 需重启vscode再运行node连接数据库。

到此这篇关于node连接MongoDB数据库错误:MongoServerSelectionError: connect ECONNREFUSED ::1:27017的文章就介绍到这了,更多相关node连接MongoDB数据库报错内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: node连接MongoDB数据库错误:MongoServerSelectionError: connect ECONNREFUSED ::1:27017(解决方案)

本文链接: https://www.lsjlt.com/news/204733.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作