#javascript #mongodb #mongoose
#javascript #mongodb #мангуст
Вопрос:
Почему мой первый оператор всегда возвращает false, когда я создаю код, которого нет в коллекции «Courses»?
// POST /api/my/courses
app.post('/api/my/courses', function(req, res) {
let courseCode = req.body.courseCode.toUpperCase();
let status = req.body.status;
if (!Courses.findOne({ courseCode })) {
res.status(404).send({ "message": "Course not found." })
} else {
let course = new MyCourses({
courseCode: courseCode,
status: status
});
course.save(function(err) {
if(err) return console.error(err);
});
res.status(201).send({ "message": "New course added." });
}
});
Ответ №1:
Вы должны ожидать findOne
, и save
поскольку они оба возвращают обещания. Или вы также можете передать функцию обратного вызова в findOne
качестве 2-го аргумента. Обратитесь к этому