【发布时间】: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(()=>console.log("okay")). catch (()=>console.log(" not okay")) ; -
连接字符串呢,不是必须的吗?
-
它应该在你调用的同一个地方,除了尝试捕捉可能的错误!
-
你打电话给
db_connect()的地方,换成给定的代码告诉我! -
你好,我已经测试了你的代码,但是使用 localhost,它可以工作。也许问题是你的字符串。你确定没问题吗?一开始我自己对这些字符串有几个问题。
标签: node.js mongodb mongoose mongodb-atlas