Я пытаюсь в этом коде обновить book_id
перед сохранением. поэтому каждый раз book_id
будет хранить длину коллекции (пытаясь реализовать автоматическое приращение MySQL), если есть какой-либо лучший способ, которым pls ссылается на него.
мой вопрос, почему значение book_id
не меняется, пока мы не переместимся next()
внутрь Book.find
обратный вызов
const BookSchema = new Schema({
book_id: {
type: Number,
},
title: {
type: String,
required: true
},
description: {
type: String,
require: true
},
writer: {
type: String,
required: true
}
});
BookSchema.pre('save', function(next) {
Book.find({}, ( err, books) => {
this.book_id = books.length;
// next()
});
next()
});
const Book = mongoose.model('book', BookSchema)