Trước hết, bạn không cần gốc
đối tượng ở tất cả. Bạn có thể truy cập nó trong pre
móc qua this
. Thứ hai post
hook chỉ thực thi sau tất cả pre
hook được thực thi, vì vậy mã của bạn không có ý nghĩa gì cả ( kiểm tra tài liệu mongoose
).
Bạn có thể kiểm tra bằng cách chọn isModified
trong pre
của bạn hook và xóa post
móc ở tất cả.
OrderSchema.pre('save', function(next) {
if(!this.isModified()){
//not modified
}
next();
});
Cập nhật
Để kiểm tra xem một số thuộc tính có bị sửa đổi hay không, hãy chuyển tên thuộc tính làm tham số cho isModified
chức năng:
if (this.isModified("some-property")) {
// do something
}