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