用mongoose Model.create(doc,cb)无效 财富值63

2016-11-02 11:44发布

如题,跟踪进不了回调,在sechma的pre save hook能跟踪到确实执行到了pre save,但是没有保存到数据库。新添加了post save hook 但log中没有输出,说明save没执行完成。

  1. 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); });
  1. 业务层

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

付费偷看设置
发送
1条回答
fengxiaocai - 这个人很懒,什么都没留下
1楼 · 2016-11-02 12:12.采纳回答

确实在pre hook这里忘记执行next();导致保存中断。
在补上next()后问题解决。

一周热门 更多>