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