承诺保存猫鼬错误?

Mongoose error on promise with save?

当我尝试通过对模型实例进行保存操作来取回承诺时。我得到错误:undefined is not a function

instance.save().exec().then(..)

但是,如果我尝试通过这样的模型获得承诺,那么它就可以工作。

model.find(..).exec().then(..)

是否无法获得保存操作的承诺。目前我只是通过回调来保存功能。但是,为了保持一致性,我想以相同的方式执行所有数据库操作。

Model#save returns 一个承诺,所以你应该跳过 .exec():

instance.save().then(...);

是这样的吗?

let mongooseInstance = new MongooseInstance(Obj);
return mongooseInstance
  .save()
  .then(savedObj => {
    if (savedObj) {
      savedObj.someProperty = null;
      success.data = savedObj;
      return Promise.resolve(success);
    } else {
      return Promise.reject(error);
    }
  });

也许还有 catch?

mongooseInstance
  .save()
  .then(saved => console.log("saved", saved))
  .catch(err => console.log("err while saving", err));