繁体   English   中英

使用 nodejs 在文件共享系统中出错,express mongoose

[英]getting err in file sharing system using nodejs,express mongoose

这是我的 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

它会返回一个承诺吗?

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);
  });

这意味着once函数首先不返回承诺对象。

如果有错误,您可以使用catchmongoose.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.');
    })

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM