这是我的nodejs代码
const mongoose = require('mongoose');
function connectDB() {
//Database connection
mongoose.connect(process.env.MONGO_CONNECTION_URL, {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: true
});
const connection = mongoose.connection;
connection.once('open', () => {
console.log('Database connected.');
}).catch(err => {
console.log('Connection failed.');
})
}
module.exports = connectDB;在试图连接服务器时显示了这个错误
}).catch(err => {
^
TypeError: connection.once(...).catch is not a function发布于 2021-10-02 07:23:47
它能兑现承诺吗?
db.once('open', function(err, resp){
console.log(resp);
});或
mongoose.connection
.once('open', function () {
console.log('MongoDB running');
})
.on('error', function (err) {
console.log(err);
});发布于 2021-10-02 07:31:02
这意味着once函数一开始就不返回承诺对象。
如果存在错误,可以使用catch和mongoose.connect来处理错误,请检查下面的示例:
function connectDB() {
//Database connection
mongoose.connect(
process.env.MONGO_CONNECTION_URL,
{
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true,
useFindAndModify: true
}
).catch(err => console.log(err.reason));;
const connection = mongoose.connection;
connection.once('open', () => {
console.log('Database connected.');
})}
https://stackoverflow.com/questions/69414779
复制相似问题