Я пытаюсь отправить текстовое сообщение с уведомлением о том, что пациент зарегистрировался при обновлении встречи коллекции MongoDB. IsCheckedIn: {type: Boolean} должно быть установлено в значение true.Я использую узел js, express, ejs и MongoDB.Я успешно отправил SMS-сообщение, но не обновляюсь.Как мне это сделать?
//mogoose schema
var appointmentSchema = new mongoose.Schema({
lastName: { type: String },
firstName: { type: String },
phoneNumber: { type: Number },
date: { type: String },
time: { type: String },
period: { type: String },
isCheckedIn: { type: Boolean, default: false }
});
var appointment = mongoose.model("Appointment", appointmentSchema);
//SEND SMS ROUTE
app.post("/:id", function(req, res) {
const number = ***********;
const message = "Patient has arrived for his/her appointment";
nexmo.message.sendSms(
"***********",
number,
message,
{ type: "unicode" },
(err, responseData) => {
if (err) {
console.log(err);
} else {
console.dir(responseData);
res.redirect("/");
}
}
);
});
// UPDATE ROUTE
app.put("/:id", function(req, res) {
appointment.findOneAndUpdate(
{ _id: mongoose.Types.ObjectId(req.params.id) },
{ isCheckedIn: true },
function(err, appointment) {
if (err) {
console.log(err);
res.redirect("/");
} else {
console.log(appointment);
res.redirect("/");
}
}
);
});
Решен маршрут обновления:
//UPDATE ROUTE
app.put("/:id", (req, res) => {
appointment.update(
{ _id: req.params.id },
{ $set: { isCheckedIn: true } },
(err, responseData) => {
if (err) {
console.log(err);
} else {
console.log(responseData);
res.redirect("/");
}
}
);
});