为什么JS async函数既不显示打印也不显示错误



我的代码

const mongoose = require('mongoose');
const Tutorial = require('./models/Tutorial');
async function createTutorial() {
try {
console.log('guy Incognito');
const doc = await Tutorial.create({ title: 'bill ', body: 'Bill Russel was great player!' });
console.log(`randomTextabcden${doc}`);
} catch (err) {
console.log(err);
}
}
createTutorial();

在模型/教程

const mongoose = require('mongoose');
const TutorialSchema = new mongoose.Schema({
title: String,
body: String,
createdAt: {
type: Date,
default: Date.now,
},
});
module.exports = mongoose.model('Tutorial', TutorialSchema);

当我从终端运行代码时,

node index.js

显示

guy Incognito

承诺似乎没有兑现。。为什么?

您可能没有正确连接到数据库。如果我采用你的确切代码,那么在正确连接的情况下一切都很好,并且按照你的问题中所描述的行为,没有连接。

若要创建连接,请在应用程序中的某个位置调用mongoose.connect('mongodb://<db_uri>', {useNewUrlParser: true});

为了理解为什么你的代码没有抛出任何错误,并且你没有日志,你可以在这里阅读更多关于猫鼬如何处理连接的

必须建立到MongoDB的工作连接。

mongoose
.connect('mongodb://localhost/stackoverflow_db', {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => console.log('Successfully connect to MongoDB.'))
.catch((err) => console.error('Connection error', err));

最新更新