【问题标题】:Unable to Connect with MongoDB Atlas from Local Node App无法从本地节点应用程序连接 MongoDB Atlas
【发布时间】:2020-03-26 03:13:33
【问题描述】:

我在 atlas 上创建了一个集群,并尝试使用我的节点应用程序连接并使用 mongoose 记录连接状态。我已将我的 ip 列入白名单并正确设置了所有内容,但我不断收到UnhandledPromiseRejectionWarning。

这是我的db.js 代码。在mongooose.connect(url, opts) 上抛出错误。

 const mongoose = require('mongoose');

 const db_connect = async () => {
 const conn_string = await mongoose.connect('mongodb+srv://devjoe: 
    <password_hidden_delibarately>@devcamper-gs1nb.mongodb.net/devcamper?retry 
    Writes=true&w=majority', 
   {
        useCreateIndex: true,
        useNewUrlParser: true,
        useFindAndModify: false,
        useUnifiedTopology: true
   }); 

   console.log(`connection string: ${conn_string.connection.host}`);

}

module.exports = db_connect;

在server.js文件中,我只是用commonjs模块导入后调用db_connect();之类的函数。

任何帮助将不胜感激,因为我找不到问题所在。谢谢。

【问题讨论】:

  • 嘿,从你的问题来看,我只能告诉你通常是什么导致了这个错误:它通常是一个没有正确处理的承诺。你能试试这个并告诉我吗? db_connect().then(()=&gt;console.log("okay")). catch (()=&gt;console.log(" not okay")) ;
  • 连接字符串呢,不是必须的吗?
  • 它应该在你调用的同一个地方,除了尝试捕捉可能的错误!
  • 你打电话给db_connect()的地方,换成给定的代码告诉我!
  • 你好,我已经测试了你的代码,但是使用 localhost,它可以工作。也许问题是你的字符串。你确定没问题吗?一开始我自己对这些字符串有几个问题。

标签: node.js mongodb mongoose mongodb-atlas


【解决方案1】:

如果解决方案不起作用,您也可以试试这个:

const mongoose = require("mongoose");

const db_connect = () => {
  try {
    const conn_string = mongoose.connect(
      "mongodb+srv://devjoe: <*****************>@devcamper-gs1nb.mongodb.net/devcamper?retry Writes=true&w=majority",
      {
        useCreateIndex: true,
        useNewUrlParser: true,
        useFindAndModify: false,
        useUnifiedTopology: true
      }
    );

    console.log(`connection string: ${conn_string.connection.host}`);
  } catch {
    console.log(`not connected to : ${conn_string.connection.host}`);
  }
};

module.exports = db_connect;

我刚刚在我的电脑上测试了这个解决方案,它可以工作!

但是,如果这些都不起作用,可以向您发送我如何进行连接。

【讨论】:

  • 它也没有连接。此时抛出的错误是 server.js 中的 db_connect
  • 因此,允许所有 ips 似乎是解决方案。嗯,想知道我的ip问题是什么。不过感谢您的帮助。
猜你喜欢
  • 2021-10-02
  • 1970-01-01
  • 2022-01-18
  • 2021-11-09
  • 1970-01-01
  • 2019-06-08
  • 2019-09-04
  • 2019-12-14
  • 2020-11-17
相关资源
最近更新 更多