mongoose保存错误的承诺?

当我试图得到承诺保存操作的实例模型。 我得到错误: undefined is not a function

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

但是,如果我试图得到这样的模型承诺,那么它的工作原理。

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

没有办法得到保存行动的承诺。 目前我只是通过callback保存function。 但是,为了保持一致性,我想以相同的方式执行所有数据库操作。

       

网上收集的解决方案 "mongoose保存错误的承诺?"

Model#save返回一个承诺,所以你应该跳过.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));