node連接MongoDB數(shù)據(jù)庫(kù)錯(cuò)誤:MongoServerSelectionError:?connect?ECONNREFUSED?::1:27017(解決方案)
一、問(wèn)題描述
描述:使用node連接MongoDB數(shù)據(jù)庫(kù)時(shí)發(fā)生報(bào)錯(cuò),MongoServerSelectionError: connect ECONNREFUSED ::1:27017
如圖所示:
二、原因查找
前提條件:MongoDB數(shù)據(jù)庫(kù)的服務(wù)已成功啟動(dòng)。
通過(guò)查找資料發(fā)現(xiàn),報(bào)錯(cuò)原因是nodejs在后臺(tái)使用 ipv6,所以 localhost 不是指向 127.0.0.1 而是指向 :::1。
三、解決辦法
1.降級(jí)node版本到16以下,包含16;
2.url使用ip mongodb://127.0.0.1:27017/xxx。
通過(guò)實(shí)踐證明:
如果node版本在16及以上則選擇方法一,否則方法二仍會(huì)出現(xiàn)同樣的報(bào)錯(cuò)信息,此時(shí)選擇方法一。
四、node版本降級(jí)
這里選擇NVM管理node來(lái)重新下載node。
1.將原安裝node的文件夾中的文件全部刪除;
2.通過(guò)控制面板卸載node程序;
3.下載NVM管理工具: https://github.com/coreybutler/nvm-windows/releases
4.解壓縮該zip文件夾并安裝nvm管理工具(自由選擇安裝路徑)。并驗(yàn)證nvm是否安裝成功。
5.安裝node.js
(1) 在命令行工具中輸入nvm ls available,查看node.js的版本號(hào):
注意: 我們要下載的是16以下的node版本,但是上圖沒(méi)有,可以通過(guò)底部提示的網(wǎng)址查看完整的版本信息以及對(duì)應(yīng)的npm版本(后面會(huì)用到):
(2) 在命令行輸入:nvm install node版本號(hào) 下載安裝node;如:node install 15.14.0
安裝成功后,輸入:mvm use node版本號(hào),表示當(dāng)前你要使用這個(gè)版本的node。
驗(yàn)證node是否安裝成功:
(3) 驗(yàn)證npm是否安裝:
如圖,表明當(dāng)前我們安裝的node沒(méi)有自動(dòng)安裝npm包。
(4) 安裝npm。下載對(duì)應(yīng)node版本的npm版本:
查看node版本對(duì)應(yīng)的npm版本:https://nodejs.org/zh-cn/download/releases/
npm下載地址:http://npm.taobao.org/mirrors/npm/
如:node15.14.0版本對(duì)應(yīng)的npm版本為7.7.6
(5) 下載完成后解壓到nvm安裝目錄的對(duì)應(yīng)node版本的node_modules目錄下,并將文件名改為npm:
(6) 將npm中bin目錄下的npm文件和npm.cmd文件復(fù)制粘貼到node版本的根目錄下:
(7) 驗(yàn)證npm是否安裝成功:
(8) 為node.js配置環(huán)境變量:此電腦 -> 屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量 -> 系統(tǒng)變量 -> path -> 編輯 -> 新建 -> node的安裝路徑
注意: 需重啟vscode再運(yùn)行node連接數(shù)據(jù)庫(kù)。
到此這篇關(guān)于node連接MongoDB數(shù)據(jù)庫(kù)錯(cuò)誤:MongoServerSelectionError: connect ECONNREFUSED ::1:27017的文章就介紹到這了,更多相關(guān)node連接MongoDB數(shù)據(jù)庫(kù)報(bào)錯(cuò)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
NodeJS?基于?Dapr?構(gòu)建云原生微服務(wù)應(yīng)用快速入門(mén)教程
Dapr?是一個(gè)可移植的、事件驅(qū)動(dòng)的運(yùn)行時(shí),它使任何開(kāi)發(fā)人員能夠輕松構(gòu)建出彈性的、無(wú)狀態(tài)和有狀態(tài)的應(yīng)用程序,并可運(yùn)行在云平臺(tái)或邊緣計(jì)算中,它同時(shí)也支持多種編程語(yǔ)言和開(kāi)發(fā)框架,本文重點(diǎn)介紹NodeJS云原生微服務(wù)應(yīng)用,感興趣的朋友一起看看吧2022-07-07node.js中的url.format方法使用說(shuō)明
這篇文章主要介紹了node.js中的url.format方法使用說(shuō)明,本文介紹了url.format的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12Nodejs 和Session 原理及實(shí)戰(zhàn)技巧小結(jié)
這篇文章主要介紹了Nodejs 和Session 原理及實(shí)戰(zhàn)技巧小結(jié),需要的朋友可以參考下2017-08-08解決koa2 ctx.render is not a function報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了解決koa2 ctx.render is not a function報(bào)錯(cuò)問(wèn)題,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08