如题,跟踪进不了回调,在sechma的pre save hook能跟踪到确实执行到了pre save,但是没有保存到数据库。新添加了post save hook 但log中没有输出,说明save没执行完成。
sechma
var mySchema = new mongoose.Schema({ employee_name: { type: String }, employee_no: { type: String }, month: { type: Number }, date: [String], lastModifyDate: Date }); mySchema .pre("save", function (next) { this.lastModifyDate = Date.now(); console.log("save one:", this); });
业务层
var createPromise = function (doc,newData) { return new Promise(function (fulfill, reject) { ...省略doc的校验 doc为上个promise传入的查询结果 myModel.create({ employee_name: newData.emp_name, employee_no: newData.emp_no, month: newData.month, overtime_date: newData.addDates.rmArr(newData.rmDates) }, function (err, res) { if (err) return reject(err); return fulfill(res); }); }); createPromise .then(function(res){...}) .catch(...)
现在跟踪进入到create后没有执行then或者catch中的console.log
确实在pre hook这里忘记执行next();导致保存中断。
在补上next()后问题解决。
一周热门 更多>