簡體   English   中英

Mongoose 未連接 MongoDB Atlas

[英]Mongoose is not connecting MongoDB Atlas

這是我第一次使用 MongoDB Atlas 與 Mongo 一起工作,在嘗試連接時,這是我得到的錯誤:

Error: connect ECONNREFUSED 3.209.60.172:27017
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1054:14) {
  name: 'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {}
}

這是我的代碼:

const express = require('express');
const mongoose = require('mongoose');

const app = express();

mongoose.connect('mongodb+srv://johnnybox:<password>@cluster0-cgxqx.mongodb.net/test?retryWrites=true&w=majority', { 
  useNewUrlParser: true
}).then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err));

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

app.use(require('./routes'));

app.listen(3331);

ps* 我沒有遺漏我的憑據

已經在這里尋找解決方案,但沒有與我的問題類似的問題。

我的白名單:

在此處輸入圖片說明

嘗試這個

mongoose
  .connect(
    'mongodb+srv://{my_user}:{mypass}@johnnybox-cgxqx.mongodb.net/johnnybox?retryWrites=true&w=majority',
    { useNewUrlParser: true }
  )
  .then(() => console.log('MongoDB Connected...'))
  .catch(err => console.log(err));

嘗試在 mongo atlas IP 白名單中添加您的 IP 地址。 否則,如果您不需要安全連接,則接受每個連接。

新錯誤的新答案:

根據這個答案,它具有相同的確切錯誤,即:

'MongoNetworkError',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]:

在 MongoDB 網站的“集群/安全/白名單”之后將您當前的 IP 添加到白名單。

對不起,我花了至少一個小時來解決這個問題。 這就是我能做的。


解決前一個錯誤的舊答案(他修復了這部分,但仍然出現新錯誤):

如果您仔細閱讀錯誤日志,它會說:

UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block

這意味着您需要將catch()添加到您的貓鼬連接中:

mongoose.connect({some code}).then({some code}).catch(err => console.log(err))

我試着在家里運行這段代碼,它運行得很好!

所以這是我辦公室里的東西,經過一些測試,問題出在被鎖定的連接端口上。

看一看:

Error: connect ECONNREFUSED 3.209.60.172:27017

注意它連接到端口27017

** Ip 是隨機的,因此每次請求后都會更改。

我的SD打開這個端口后,一切正常!!

在此處輸入圖片說明

非常感謝你們的幫助!

對於那些嘗試過各種 URI 的人來說,唯一能在這里工作的是添加您的 IP允許從任何地方訪問 希望能節省你一些時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM