gpt4 book ai didi

node.js - MongoDB: “Could not connect to any servers in your MongoDB Atlas cluster (whitelist)”

转载 作者:行者123 更新时间:2023-12-03 12:16:14 27 4
gpt4 key购买 nike

我遇到了一个问题,我尝试解决了很长时间。
我正在尝试从 nodejs 连接到 Mongo Atlas 云通过 mongoose .
这不是我第一次,但我就是找不到答案。
Mongoose 版本:5.9.22
这是我的代码:

  const express = require('express')
const mongoose = require('mongoose')
const bodyparser = require('body-parser')

const app = express()
app.use(bodyparser.json())

mongoose.connect("mongodb+srv://dudvil1:password@cluster0.guxmm.mongodb.net/shopping_list?
retryWrites=true&w=majority", {
useNewUrlParser: true,
useUnifiedTopology: true
})
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log('mongo connected'))
.catch(err => console.log(err));

const port = process.env.PORT || 5000

app.listen(port, () => console.log(`server started in port ${port}`))
我的白名单设置只包括 0.0.0.0/0
我在数据库访问中的用户名和密码很简单,没有任何特殊字符,但总是得到同样的错误:
 MongooseServerSelectionError: Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://docs.atlas.mongodb.com/security-whitelist/
at NativeConnection.Connection.openUri (C:\Users\Dudu\Desktop\MERN\node_modules\mongoose\lib\connection.js:826:32)
at Mongoose.connect (C:\Users\Dudu\Desktop\MERN\node_modules\mongoose\lib\index.js:335:15)
at Object.<anonymous> (C:\Users\Dudu\Desktop\MERN\server.js:10:10)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11 {
message: "Could not connect to any servers in your MongoDB Atlas cluster. One common reason is that you're trying to access the database from an IP that isn't whitelisted. Make sure your current IP address is on your Atlas cluster's IP whitelist: https://docs.atlas.mongodb.com/security-whitelist/",
reason: TopologyDescription {
type: 'ReplicaSetNoPrimary',
setName: null,
maxSetVersion: null,
maxElectionId: null,
servers: Map {
'cluster0-shard-00-02.guxmm.mongodb.net:27017' => [ServerDescription],
'cluster0-shard-00-00.guxmm.mongodb.net:27017' => [ServerDescription],
'cluster0-shard-00-01.guxmm.mongodb.net:27017' => [ServerDescription]
},
stale: false,
compatible: true,
compatibilityError: null,
logicalSessionTimeoutMinutes: null,
heartbeatFrequencyMS: 10000,
localThresholdMS: 15,
commonWireVersion: null
}
}
非常感谢。

最佳答案

您可以尝试以下步骤:

  • 单击网络访问。

  • enter image description here
  • 单击位于删除按钮旁边的编辑按钮。
  • 单击“添加当前 IP 地址”按钮并单击确认。

  • 这样您就可以从任何 IP 地址访问您的数据库。
    让我知道它是否适合你:)

    关于node.js - MongoDB: “Could not connect to any servers in your MongoDB Atlas cluster (whitelist)”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62859081/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com