私は本のモデルを持っています。これがそのスキーマです
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
。したがって、事前保存フックに関しては、未定義のエラーがTypeError
発生しました。this.title
事前保存フックをスキップする方法はありますか?