【发布时间】:2015-11-12 13:08:25
【问题描述】:
我似乎无法在猫鼬中工作。 我有一个选项模型:
let option = new OptionModel({
value: 'test',
vote: 0
});
我尝试保存:
option.save().then(function() {
console.log('saved')
});
不工作,它只输出什么
option.save(function(){
console.log('saved');
});
正在工作,输出“已保存”。 为什么?
【问题讨论】:
-
save 在 Promise API 中没有支持(除非他们从那以后修复了它)。使用
Promise.promsifyAll和 bluebird,然后使用saveAsync -
@BenjaminGruenbaum 它在文档中说,该函数正在返回一个 Promise mongoosejs.com/docs/api.html#model_Model-save
-
你没有在任何地方检查错误。
-
@httpete 如果您的承诺链中发生错误,则不会。
-
我将
.save()与 Promises 一起使用,它在 Mongoose 4.1.3 中肯定对我有用。正如@robertklep 和@httpete 建议的那样,它可能会被拒绝。尝试option.save().then(function() { console.log('saved') }, console.error.bind(console));仔细检查您没有收到错误。