如何使用 mongoose 连接到 mongoDB Atlas

新手上路,请多包涵

我正在尝试通过 Mongoose.connect() 连接到我在 mongoDB Atlas 上的集群,但是每次我尝试连接时都会出现异常“MongoError:身份验证失败”我知道 MongoDB Atlas 是新的 mongo 作为服务可能不是猫鼬支持了吗?

原文由 M Hilal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 950
2 个回答

这个相关帖子中的答案 是正确的。你应该:

  • 不要将选项与连接字符串混合(如果这样做)
  • 确保您正在运行的 IP 已列入白名单,并且您的网络允许连接到 Atlas
  • 确保用户有足够的权限
  • 使用 atlas 提供的连接字符串 并将其提供给
  mongoose.connect(uri);

原文由 eljefedelrodeodeljefe 发布,翻译遵循 CC BY-SA 4.0 许可协议

MongoError: authentication fails - 这意味着你的名字或密码或 dbname 不正确 -

uri 样本 -

 const uri =
    "mongodb+srv://<username>:<password>@firstcluster.4rc4s.mongodb.net/<dbname>?retryWrites=true&w=majority";

假设用户名是 - najim ,密码是 1234 ,dbname 是 pets (注意 - 默认 dbname 是 test 但你可以写任何你想写的)那么我的 uri 将包含上面的 credentails -

 const  mongoAtlasUri =
        "mongodb+srv://najim:1234@firstcluster.4rc4s.mongodb.net/pets?retryWrites=true&w=majority";

与 moongoose 联系

try {
    // Connect to the MongoDB cluster
     mongoose.connect(
      mongoAtlasUri,
      { useNewUrlParser: true, useUnifiedTopology: true },
      () => console.log(" Mongoose is connected")
    );

  } catch (e) {
    console.log("could not connect");
  }

原文由 Najim Ali 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题