【发布时间】:2021-06-25 13:02:53
【问题描述】:
我在连接 nodejs 和 atlas 时遇到问题。
这是我的代码
var mongoose = require('mongoose')
var mongoDB =
'mongodb+srv://Yeon:yeoyeon1@cluster0.nnzsw.mongodb.net/local_library?retryWrites=true&w=majority'
mongoose.connect(mongoDB, { useNewUrlParser: true, useUnifiedTopology: true })
var db = mongoose.connection
db.on('error', console.error.bind(console, 'MongoDB connection error: '))
这是错误代码
MongoDB connection error: Error: querySrv ETIMEOUT _mongodb._tcp.cluster0.nnzsw.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] (dns.js:203:19) {
errno: undefined,
code: 'ETIMEOUT',
syscall: 'querySrv',
hostname: '_mongodb._tcp.cluster0.nnzsw.mongodb.net'
}
我已经像这样从 mongodb+src 切换到 mongodb 错误代码只是变长了,但没有解决
var mongoDB =
'mongodb://Yeon:dusrjf4346@cluster0.nnzsw.mongodb.net/local_library?retryWrites=true&w=majority'
我已经完成了所有这三个。
首先确保您的 IP 像上述建议一样被列入白名单。这 最简单的解决方案是 0.0.0.0/0 的“所有 IP”白名单
如果您使用的是 VPN,请检查您的 VPN。我试图连接到 连接到 VPN 时的集群。一旦我关闭了我的VPN,我就 可以连接。
第三确保您的互联网设置不会阻止您 连接到集群。我家的 Xfinity wifi 安全设置是 设置得太高,这会阻止连接。我觉得 路由器不允许连接到端口 27017。一种测试是否 发生此问题是将您的计算机连接到您的手机 互联网而不是您的 wifi 并尝试连接。我以前可以 使用我的 iPhone 作为互联网热点进行连接。我重置了我的路由器 修复问题的出厂设置。
但是,没有什么能解决我的问题。
我认为我的密码和数据库名是正确的
【问题讨论】:
-
尝试使用
mongo "mongodb+srvXXXX"通过mongo命令行连接,这可能会给你一些提示。
标签: node.js mongodb mongoose mongodb-atlas