#node.js #mongoose #async-await
Вопрос:
Окружающая среда: Мангуст, Node.js, Атлас MongoDB
Я получаю то, что кажется неожиданным поведением Мангуста. В некоторых случаях API Мангуста не нужен async / await
, но в других случаях, похоже, нужен.
Например, как и ожидалось, приведенный ниже код успешно создает новый документ без async / await
.
const TestModel = mongoose.model('testmodel', TestModelSchema);
app.post('/upload', urlEncoded, (req, res) => {
let { dataName, key1 } = req.body;
let newDocument = new TestModel({
dataName, key1
})
newDocument.save(); // no await needed here
res.redirect('/');
});
Однако в этом следующем примере .updateOne()
база данных не обновляется.
app.get('/update', (req, res) => {
TestModel.updateOne({ dataName: 'dog' }, { key1: ''});
res.redirect('/');
})
Когда я включаю async / await
базу данных, она обновляется, как и ожидалось.
app.get('/update', async (req, res) => {
await TestModel.updateOne({ dataName: 'dog' }, { key1: ''});
res.redirect('/');
});
Я ничего не могу найти в документах об этом поведении. Я упускаю что-то важное?