обновление модели mon goose перед сохранением - PullRequest
0 голосов
/ 21 февраля 2020

Я пытаюсь в этом коде обновить 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)
...