首页 > 解决方案 > 无法使用提供的连接字符串连接到 MongoDB Compass

问题描述

我创建了一个集群,并希望使用 MongoDB Compass 访问它。

通过Connect->I have MongoDB Compass我得到以下连接字符串:

mongodb+srv://myname:<password>@myname.nauqp.mongodb.net/dws

当我在 MongoDB Compass 中输入此字符串并插入我的密码并替换test为我的数据库名称时,连接按钮被禁用,并在其下方显示以下错误消息:

querySrv ENOTFOUND _mongodb._tcp.myname.nauqp.mongodb.net

当我想通过猫鼬建立连接时,我也遇到了同样的问题。在那里我收到错误消息:

Error: querySrv ENOTFOUND _mongodb._tcp.myname.nauqp.mongodb.net
[nodemon] app crashed - waiting for file changes before starting ...

我的配置如下所示:

const connectDB = async () => {
    try {
        const connection = await mongoose.connect(process.env.MONGO_URI, {
            useUnifiedTopology: true,
            useNewUrlParser: true,
            useCreateIndex: true,
        })

    } catch (error) {
          // error handling
    }
}

我的 .env 文件中的 MONGO_URI 如下所示:

mongodb+srv://myname:<password>@myname.nauqp.mongodb.net/dws?retryWrites=true&w=majority

MongoDB 指南针版本: 1.22.1 (1.22.1)

节点版本: v14.15.0

我究竟做错了什么?

标签: databasemongodbexpressmongoosemongodb-compass

解决方案


这是@之后的集群名称

mongodb+srv://myname:<password>@clustersname.nauqp.mongodb.net/dws?retryWrites=true&w=majority

推荐阅读