MongoError: 鉴权失败
是一个常见的 MongoDB 错误,通常发生在尝试连接到 MongoDB Atlas(MongoDB 的云托管服务)时,认证信息不正确或配置有误。
MongoDB Atlas 是一个完全托管的云数据库服务,提供自动扩展、备份和高可用性等功能。鉴权失败通常是由于以下原因之一:
确保连接字符串正确无误。连接字符串通常格式如下:
mongodb+srv://<username>:<password>@<cluster-address>/<database>?retryWrites=true&w=majority
例如:
mongodb+srv://myUser:myPassword@myCluster.mongodb.net/myDatabase?retryWrites=true&w=majority
登录 MongoDB Atlas 控制台,导航到“Network Access”部分,确保你的 IP 地址已添加到白名单中。
确保你的应用程序使用的认证机制与 MongoDB Atlas 配置一致。默认情况下,MongoDB Atlas 使用 SCRAM-SHA-256。
以下是一个使用 Node.js 和 mongodb
驱动程序连接到 MongoDB Atlas 的示例代码:
const { MongoClient } = require('mongodb');
async function main() {
const uri = "mongodb+srv://myUser:myPassword@myCluster.mongodb.net/myDatabase?retryWrites=true&w=majority";
const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true });
try {
await client.connect();
console.log("Connected to MongoDB Atlas");
const database = client.db('myDatabase');
const collection = database.collection('myCollection');
// 进行数据库操作
} catch (e) {
console.error(e);
} finally {
await client.close();
}
}
main().catch(console.error);
通过以上步骤,你应该能够解决 MongoError: 鉴权失败
的问题。如果问题仍然存在,请检查 MongoDB Atlas 的日志和控制台输出,以获取更多详细的错误信息。
领取专属 10元无门槛券
手把手带您无忧上云