Code: Select all
try {
const review = await Review.create({
user: user.userid,
place_id: pid,
stars: stars,
content: content,
});
/* await */ User.findByIdAndUpdate(user.userid, {
$push: {reviews: review._id}
});
res.status(200).json(returnResponse(false, "reviewWritten", "-"));
return;
} catch (error) {
console.error(error);
res.status(500).json(returnResponse(true, "errorAtReviewWriting", "-"));
return;
}
Ich dachte, da ich den Rückgabewert von User.findByIdAndUpdate nicht benötige, tue ich es nicht Sie müssen nicht das Schlüsselwort „await“ verwenden und es asynchron laufen lassen. Warum funktioniert es nur dann richtig, wenn ich das Schlüsselwort „await“ verwende?
Wenn ich das Schlüsselwort „await“ nicht verwende, wird es überhaupt nicht aktualisiert. Im wahrsten Sinne des Wortes.
Ich habe überprüft, dass die Daten nach dem Speichern überhaupt nicht von der Methode findById() bearbeitet wurden.
Und der Fehler war nicht der Fall auftreten, da der zurückgegebene Antwortcode 200 war.