错误:“无法连接到 MongoDB Atlas 集群中的任何服务器。”将 IP 地址列入白名单后

时间:2021-05-05 11:02:16

标签: javascript node.js mongodb-atlas

我正在尝试将 nodejs 连接到 mongodb atlas,但出现此错误。我已将我的 IP 地址列入白名单,并且还暂停了 mongodb.exe 和 chrome.exe 上的防火墙。我不确定出了什么问题。

我的代码:

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

require('dotenv').config();

const app = express();
const port = process.env.PORT || 5000;

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

mongoose
     .connect(process.env.ATLAS_URL, { useNewUrlParser: true, useCreateIndex: true, useUnifiedTopology: true })
     .then(() => console.log( 'Database Connected' ))
     .catch(err => console.log( err ));

const usersRouter = require('./routes/users-route');

app.use('/user', usersRouter);

app.get("/", (req, res) => res.send("Working"));

app.listen(port, () => console.log(`Server is running on port: ${port}`));

.env 文件:

ATLAS_URL=mongodb+srv://my_username:my_password@cluster0.rz87p.mongodb.net/users?retryWrites=true&w=majority

错误:

服务器运行在端口:5000 MongooseServerSelectionError:无法连接到 MongoDB Atlas 集群中的任何服务器。一个常见原因是您试图从未列入白名单的 IP 访问数据库。确保您当前的 IP 地址在您的 Atlas 集群的 IP 白名单中:https://docs.atlas.mongodb.com/security-whitelist/ 在 NativeConnection.Connection.openUri (C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\node_modules\mongoose\lib\connection.js:846:32) 在 C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\node_modules\mongoose\lib\index.js:350:10 在 C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:5 在新的承诺 () 在 promiseOrCallback (C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\node_modules\mongoose\lib\helpers\promiseOrCallback.js:30:10) 在 Mongoose._promiseOrCallback (C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\node_modules\mongoose\lib\index.js:1154:10) 在 Mongoose.connect (C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\node_modules\mongoose\lib\index.js:349:20) 在对象。 (C:\Users\USER\Pictures\Credit Suisse\challenge-tracker-backend\server.js:46:7) 在 Module._compile (internal/modules/cjs/loader.js:1063:30) 在 Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) 在 Module.load (internal/modules/cjs/loader.js:928:32) 在 Function.Module._load (internal/modules/cjs/loader.js:769:14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) 在内部/main/run_main_module.js:17:47 { 原因:拓扑描述{ 类型:'ReplicaSetNoPrimary', 集合名称:空, maxSetVersion:空, maxElectionId:空, 服务器:地图(3){ 'cluster0-shard-00-00.rz87p.mongodb.net:27017' => [服务器描述], 'cluster0-shard-00-01.rz87p.mongodb.net:27017' => [服务器描述], 'cluster0-shard-00-02.rz87p.mongodb.net:27017' => [服务器描述] }, 陈旧的:假的, 兼容:真实, 兼容性错误:空, logicalSessionTimeoutMinutes: null, 心跳频率MS:10000, 本地阈值MS:15, commonWireVersion: 空 } }

0 个答案:

没有答案
相关问题