【发布时间】:2020-09-13 23:19:30
【问题描述】:
我一直在尝试使用 mongoose 连接到 atlas 数据库
const mongoose = require('mongoose');
const my_db =
'mongodb+srv://adminUser:admisPassword@impact-9hs0w.mongodb.net/test?retryWrites=true&w=majority';
mongoose
.connect(my_db, {
useUnifiedTopology: true,
useNewUrlParser: true
})
.then((result) => {
console.log(result);
const server = app.listen(8080, () => {
console.log('listening... ');
});
})
.catch((err) => {
console.log(err);
});
但它会在[nodemon] starting 'node app.js' 停留一段时间然后给出这条日志消息
错误:queryTxt ETIMEOUT Impact-9hs0w.mongodb.net 在 QueryReqWrap.onresolve [as oncomplete] (dns.js:206:19) { errno: undefined, code: 'ETIMEOUT', syscall: 'queryTxt',
主机名:'impact-9hs0w.mongodb.net' }
我已将所有 IP 列入白名单,但仍无法连接
【问题讨论】:
-
将
const server行放在catch块之后 -
我这样做了,所以我只有在连接数据库时才启动我的服务器
-
检查你的
username和password是adminUser还是只有admin? -
我尝试使用他们给我的默认用户,但没有用,所以我创建了自己的......仍然是同样的问题