Mongo 数据库 - UnhandledPromiseRejectionWarning:错误
Mongo DB - UnhandledPromiseRejectionWarning: Error
我正在本地主机上测试我的应用程序并使用 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}`));
正如您所建议的,使用 catch 语句是处理连接错误的一种方法:
mongoose.connect(DATABASE_URL, { useNewUrlParser: true,
useUnifiedTopology: true }).catch(error => console.error(error));
如果在连接过程中发生错误,错误将被处理并返回。更多信息在这里:https://mongoosejs.com/docs/connections.html#error-handling
我正在本地主机上测试我的应用程序并使用 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}`));
正如您所建议的,使用 catch 语句是处理连接错误的一种方法:
mongoose.connect(DATABASE_URL, { useNewUrlParser: true,
useUnifiedTopology: true }).catch(error => console.error(error));
如果在连接过程中发生错误,错误将被处理并返回。更多信息在这里:https://mongoosejs.com/docs/connections.html#error-handling