Mongoose.connect 不断返回 undefined

Mongoose.connect keeps coming back undefined

我的 server.js 文件中有这个 mongoose.connect 语句:

const db = mongoose.connect(config.db, {
    'useNewUrlParser': true,
    'useUnifiedTopology': true,
    'useFindAndModify': false,
    'useCreateIndex': true
}, function(err, database) {
    if (err) {
        console.error(chalk.red('Could not connect to MongoDB!'));
        console.log(chalk.red(err));
    }else{
        console.log("db connected");
    }

});

// Init the express application
const app = require('./config/express')(db);

但是当我在 express 文件中引用 db 常量时,它一直显示为 undefined

我做错了什么?

你不应该给它传递任何回调。在那种情况下,mongoose 会 return 你一个 Promise,你需要 await.then()。例如

mongoose.connect(config.db, {
  useNewUrlParser: true,
  useUnifiedTopology: true,
  useFindAndModify: false,
  useCreateIndex: true,
}).then((db) => {
  // Init the express application
  const app = require('./config/express')(db);
});