【问题标题】:Having trouble connecting nodejs to mongoDB Atlas无法将 nodejs 连接到 mongoDB Atlas
【发布时间】: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


【解决方案1】:

使用这个

const mongoose = require("mongoose");

mongoose.connect("MONGO_URI", {
  useNewUrlParser: true,
  useCreateIndex: true,
  useUnifiedTopology: true,
});

const connection = mongoose.connection;
connection.once('open', () => {
  console.log('MongoDB database connection established successfully');
});

【讨论】:

    猜你喜欢
    • 2020-09-13
    • 1970-01-01
    • 2021-09-20
    • 2019-03-14
    • 2020-06-16
    • 1970-01-01
    • 2017-12-06
    • 2019-10-31
    • 2019-06-08
    相关资源
    最近更新 更多