【发布时间】:2020-03-26 09:18:41
【问题描述】:
我目前有以下架构:
Schema({
_id: { type: Number, default: Math.floor(Date.now() / 1000) + 24 * 60 * 60 },
userID: { type: Number, require },
assignmentID: {
type: Number,
validate: {
validator: function (v) {
if (!v) {
Promise.reject(false);
}
else {
Assignment.findById(v, (assignmentErr, assignmentDoc) => {
if(assignmentErr || !assignmentDoc){
Promise.reject(false);
}
else{
Promise.resolve(true);
}
})
}
},
message: 'Invalid assignment ID.'
}
}
我面临的问题是我在控制台中不断收到警告,提示我没有处理被拒绝的承诺。即使 promise 被拒绝,文档也会保存在数据库中。
我保存新文档的方式如下:
schema.save((err, savedDoc) => {
}
我该如何解决这个问题,或者有没有更好的方法来进行这样的复杂验证?
【问题讨论】: