Мне не хватает чего-то о обратных вызовах с функцией сохранения Mongoose. Я пытаюсь вставить новую транзакцию, а затем, если это успешно, обновите учетную запись пользователя. Проблема, я считаю, это заставляет всех людей обновляться с суммой последнего человека. Что я пытаюсь сделать, это обновить документ после сохранения другого документа.Обновление Mongoose после сохранения
Вот код. Пожалуйста, дайте мне знать, что я делаю неправильно. Спасибо заранее.
//find all schedules
SchedModel.find({ Day_Of_Week: day }, null, null, function (err, Sched) {
if (!err) {
//iterate through what we find
for (var key in Sched) {
if (Sched.hasOwnProperty(key)) {
var val = Sched[key];
console.log("val : " + val);
var Sched_Descr = day || ' Sched Trans';
var this_trans = new TransModel({
mID: val.K_Id,
mDate: today,
mDescr: Sched_Descr,
mAmt: val.mAmt
});
//insert the new trans
this_trans.save(function (err, trans) {
if (!err) {
//when we insert new trans, get the update model
MyModel.findById(val.K_Id, function (err, Model) {
Model.Balance = Model.Balance + val.mAmt;
//save model, this update to the last in the list
Model.save(function (err) {
if (!err) {
console.log("updated");
} else {
console.log(err);
}
});
});
} else {
return console.log(err);
}
});
}
}
} else {
console.log(err);
};
});
вы пробовали findAndModify? Это может помочь вам –