我有一个书本模型。这是它的架构
BookSchema = new Schema({
title: String
, lowestPrice: Number
});
BookSchema.path('title').required(true);
Bookchema.pre('save', function (next) {
try {
// chai.js
expect(this.title).to.have.length.within(1, 50);
} catch (e) {
next(e);
}
next();
});
当一本书的商品被创建时,如果商品的价格低于原价,我必须更新这本书的最低价格。因为我需要知道原产地最低价格,所以我不能使用Book.update()
,它跳过了预保存挂钩,而是用于Book.findById(id).select('lowestPrice')
查找书籍而不是更新它。问题是我不想选择该title
字段,因此当涉及到 pre-save 挂钩时,TypeError
发生的 forthis.title
是未定义的。有没有办法跳过预保存挂钩?