Javascript 尝试连接到Mongolab时正在点击ENOTFOUND?
我从mongolab atlas得到了一个连接字符串Javascript 尝试连接到Mongolab时正在点击ENOTFOUND?,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,我从mongolab atlas得到了一个连接字符串 mongodb+srv://admin:xxxxx@cluster0.bnsni.mongodb.net/test?retryWrites=true&w=majority 然而,当我尝试使用ExpressMongoose连接它时,我得到了下面的错误 连接到MongoLab时出错:错误:querySrv ENOTFOUND\u mongodb.\u tcp.cluster0.bnsni.mongodb.net 在QueryReqWra
mongodb+srv://admin:xxxxx@cluster0.bnsni.mongodb.net/test?retryWrites=true&w=majority
然而,当我尝试使用ExpressMongoose连接它时,我得到了下面的错误
连接到MongoLab时出错:错误:querySrv ENOTFOUND\u mongodb.\u tcp.cluster0.bnsni.mongodb.net
在QueryReqWrap.onresolve[as oncomplete](dns.js:203:19){
错误号:未定义,
代码:“ENOTFOUND”,
系统调用:“querySrv”,
主机名:'\u mongodb.\u tcp.cluster0.bnsni.mongodb.net'
}
(节点:52093)未处理的PromiserEjectionWarning:错误:querySrv ENOTFOUND\u mongodb.\u tcp.cluster0.bnsni.mongodb.net
在QueryReqWrap.onresolve[as oncomplete](dns.js:203:19)
(节点:52093)未处理的PromisejectionWarning:未处理的承诺拒绝。此错误源于在没有catch块的异步函数中抛出,或者拒绝未使用.catch()处理的承诺。要在未处理的承诺拒绝时终止节点进程,请使用CLI标志--unhandled rejections=strict
(请参阅)。(拒绝id:1)
在Mongolab上,我选择了nodejs版本3.6或更高版本
下面是连接到db的代码
const MONGO_URI =
"mongodb+srv://admin:xxxxxx@cluster0.bnsni.mongodb.net/test?retryWrites=true&w=majority";
if (!MONGO_URI) {
throw new Error("You must provide a MongoLab URI");
}
mongoose.Promise = global.Promise;
mongoose.connect(MONGO_URI);
mongoose.connection
.once("open", () => console.log("Connected to MongoLab instance."))
.on("error", (error) => console.log("Error connecting to MongoLab:", error));
您可以尝试通过shell连接到Mongo服务器吗?只是为了隔离问题
const MONGO_URI =
"mongodb+srv://admin:xxxxxx@cluster0.bnsni.mongodb.net/test?retryWrites=true&w=majority";
if (!MONGO_URI) {
throw new Error("You must provide a MongoLab URI");
}
mongoose.Promise = global.Promise;
mongoose.connect(MONGO_URI);
mongoose.connection
.once("open", () => console.log("Connected to MongoLab instance."))
.on("error", (error) => console.log("Error connecting to MongoLab:", error));