Пост промежуточного программного обеспечения Mongoose - `update` не работает - PullRequest
0 голосов
/ 18 января 2019

Я использую мангуст 4.11.3. Я пытаюсь использовать post update middleware. Это не работает. Я попробовал save тот, который работает нормально. Не уверен, что не так.

const mongoose = require('mongoose')
const Schema = mongoose.Schema

const ProfileSchema = Schema({
  // schema defined here
})

// working fine
ProfileSchema.post('save', function () {
    console.log('save called') 
})

// not working
ProfileSchema.post('update', function (err, doc, next) {
    console.log('update called') 
})

Я звоню findOneAndUpdate, данные обновляются, но обновление промежуточного программного обеспечения не вызывается. Даже pre не работает.

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Хук "update" не будет вызываться, если вы используете

Profile.updateOne();
Profile.findOneAndUpdate();

и т. Д.

Причина, по которой "findOneAndUpdate" работает, потому что вы используете

Profile.findOneAndUpdate();

Должен иметь смысл.

0 голосов
/ 18 января 2019

Это сработало для меня, но я не уверен, почему 'update' не работает.

ProfileSchema.post('findOneAndUpdate', function () {
    console.log('pre - update')
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...