【发布时间】:2020-07-25 01:13:13
【问题描述】:
我正在尝试使用节点 js 中的 mongoose 连接到在 Mongodb Atlas 中创建的集群,这样做时我遇到了以下问题。
-
当我使用 Mongo db atlas
mongodb+srv://lm_dev_app:<password>@lmdev-q5biw.mongodb.net/test?retryWrites=true&w=majority中给出的连接字符串时,出现以下错误{ 错误:queryTxt EBADNAME lmdev-q5biw.mongodb.net 在 QueryReqWrap.onresolve [as oncomplete] (dns.js:196:19) 错误号:'EBADNAME', 代码:'EBADNAME', 系统调用:'queryTxt', 主机名:'lmdev-q5biw.mongodb.net'}
我无法在 Mongodb Compass 中使用此连接字符串,并且在那里遇到同样的错误。
-
如果我尝试使用
mongodb://lm_dev_app:<password>@lmdev-shard-00-01-q5biw.mongodb.net/test进行连接,则会出现以下错误MongooseServerSelectionError:与 54.66.221.230:27017 的连接已关闭
但是我可以使用 Mongodb Compass 连接到每个节点,这消除了我的 ipaddress 未被列入白名单的可能性。
这是我正在使用的示例代码
const mongoosePromise = mongoose.connect("mongodb://lm_dev_app:<password>@lmdev-shard-00-01-q5biw.mongodb.net/test", {
useNewUrlParser: true,
useUnifiedTopology: true,
replicaSet: "LMDEV"
}, (err) => {
if (err) {
console.log(err);
} else {
console.log("Successful");
}
});
关于这里发生的事情的任何想法。
【问题讨论】:
-
@kedarsedai 我已经做到了。但是我可以在同一台机器上使用 Mongodb Compass 进行连接,这表明 IP 地址没有问题。
-
您正在尝试将
MongoDB Atlas连接到您的`Node` 应用程序? -
您是否删除了
<> angle brackets并将您的密码放在那里? -
@kedarsedai 是的,我做到了。我正在尝试从我的 Node 应用程序连接到我在 Mongodb Atlas 上创建的集群。
标签: mongodb mongoose mongodb-atlas