Есть ли ловушка pre / post, которая срабатывает как при сохранении, так и при обновлении? - PullRequest
0 голосов
/ 03 июля 2019

У меня есть, например.

schema.pre('save', (next) => {
  console.log('save fired');
  next();
});

Я предполагал, что "save" сработает на всех schema.update() и schema.create() событиях, так как оба технически "спасают" вещи.

Например,действиям, которые изменяют значение, равное unique: true в схеме, необходимо проверить, не выдает ли новое значение ошибку DuplicateKey (11000), и выдать свою собственную ошибку.

Есть ли очистительСпособ, чем:

const createUpdateCommon = (next) => {/*check if thrown DuplicateKey error*/}

schema.pre('save', createUpdateCommon);
schema.pre('findOneAndUpdate', createUpdateCommon);

Также нет никакого предварительного хука, который обрабатывает «любое обновление», вместо того, чтобы указывать findOne, findMany и т. д .?

...