Я пытаюсь написать функцию, которая получает ключ от внешнего интерфейса, проверяет, соответствует ли этот ключ ключу на внутреннем интерфейсе, и если да, удаляет эту запись, а затем отвечает сообщением о состоянии на внешний интерфейс.
Проблема в том, что я продолжаю получать "undefined" в моем операторе .then.
Это мой индекс. js файл:
const jobs = require("./db/models/jobs");
app.delete("/jobs/:id", (req, res) => {
var uid = req.params.id;
var enteredPassword = req.body.enteredPassword;
jobs.removeWithPassword(uid, enteredPassword)
.then((job) => {
res.json(200);
res.json(job);
})
.catch((error) => {
res.status(500);
res.json(error);
});
});
А это my jobs. js файл, в котором записан метод удаления:
const jobs = db.get("jobs");
function removeWithPassword(job_uid, enteredPassword) {
jobs.find({ _id: job_uid })
.then(result => {
const job = result[0];
if (job.password === enteredPassword) {
console.log("the password matches");
jobs.remove({ _id: ObjectId(job_uid) })
.then(result => result);
return result;
} else {
console.log("the password doesn't match");
}
});
}
module.exports = {
removeWithPassword
};