【发布时间】:2019-10-23 04:35:09
【问题描述】:
这是我第一次使用 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()的uri部分的末尾删除&w=majority。如果它不起作用,请将您的mongoose.connect()放在app.listen()之前和任何app.use()之后。让我知道这次它是否有效。 -
Matin 没有任何改变,甚至删除
&w=majority并重新定位...:/ -
根据answer,这一切最终都归结为IP问题(我知道你试过了)。也许您正在使用 VPN 或一些阻碍它的代理。或者它可能是您的 ISP。还将您的集群区域更改为美国的任何地方。
-
我现在意识到您可能会将您自己的 MongoDB 用户名与您创建的“数据库用户”混为一谈。看看您是否使用自己制作的数据库用户名和密码。告诉我。
-
我发现了问题伙计们
标签: node.js mongodb mongoose mongodb-atlas