Mongo DB-UnhandledPromiseRejectionWarning:错误

问题描述 投票:0回答:1

我正在localhost上测试我的应用程序,并使用mongdb连接到数据库。我收到此错误:UnhandledPromiseRejectionWarning:错误:连接ECONNREFUSED 127.0.0.1:27017

我想出了如何通过进入服务并手动启动MongoDB来重新连接。

但是,经过研究,我发现我的代码无法正确处理捕获的错误。我不确定如何重组我的代码(使用我相信的.catch()?)来解决此问题。

非常感谢您提供任何有助于解决问题的建议,并且很高兴能够学习如何做。预先感谢!

const express = require('express');
const validate = require('./validate.js');
const mongoose = require('mongoose');
const moviesRouter = require('./routes/movies.js');
const app = express();
const PORT = process.env.PORT || 3000;
const DATABASE_URL = process.env.DATABASE_URL || 
'mongodb://localhost/movies';


mongoose.connect(DATABASE_URL, { useNewUrlParser: true, 
useUnifiedTopology: true });
const db = mongoose.connection;
db.on('error', error => console.error(error));
db.once('open', () => console.log('Connected to Database'));

app.use(express.json());
app.use('/movies', moviesRouter);


app.listen(PORT,  () => console.log(`listening on port: ${PORT}`));
mongodb connection
1个回答
0
投票

正如您建议的那样,使用catch语句将是处理连接错误的一种方法:

mongoose.connect(DATABASE_URL, { useNewUrlParser: true, 
useUnifiedTopology: true }).catch(error => console.error(error));

如果连接期间发生错误,则将处理并返回错误。此处更多信息:https://mongoosejs.com/docs/connections.html#error-handling

© www.soinside.com 2019 - 2024. All rights reserved.