我在尝试连接MongoDB时遇到问题。我在这里用猫鼬
console.log("trying here"); // prints
await mongoose.connect(db, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false
});
console.log("Mongo DB connected"); // never reached
它抛出一个错误
getaddrinfo ENOTFOUND cluster0-shard-00-01-abcde.mongodb.net
我以前从未遇到过此错误,它过去可以正常工作-不知道从这里去哪里。我尝试建立一个新的群集,并且将IP的网络访问设置为公共0.0.0.0
。它只是不断抛出相同的错误。
答案 0 :(得分:0)
我遇到了同样的错误。
您如何使用mongo连接字符串?你的猫鼬版本是什么?
如果您使用的是最新版本的猫鼬,请尝试使用以下字符串
我将字符串从mongodb://<user>:<password>...
更改为mongodb+srv://<user>:<password>...
答案 1 :(得分:0)
请注意,如果您指定useNewUrlParser: true
,则必须在连接字符串中指定端口,
像mongodb://localhost:27017/dbname
。
新的网址解析器不支持没有端口的连接字符串,例如mongodb://localhost/dbname
。
如果您使用node.js + mongo Atlas,则还有一个选择:
您将获得以mongodb://开头的连接字符串
由mongodb + srv://插入(用于节点js 3.0或更高版本)