Mongoosejs Middleware крючки "предварительно" найти вопросы - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужна помощь.У меня есть особая ситуация, когда мне нужно заполнить коллекцию Mongoose до того, как произойдет запрос поиска.

Причина в том, что мне нужно применить отфильтрованные параметры, введенные пользователем, к ссылкам на совокупность из других коллекций.

Проблема : я пытаюсь использовать предварительный хук, чтобыЯ могу заполнить необходимые пути до того, как запрос поиска будет запущен в «SampleSchema».Если я пытаюсь применить фильтр к SampleSchema без предварительного заполнения схемы, поиск не может правильно отфильтровать результаты и выдает ошибки.

ERROR: { CastError: Cast to ObjectId failed for value "Foo" at path "program" for model "Sample" ...}

Так что не удалось правильно получитьпредварительно найти промежуточный крюк работает правильно.

SampleSchema.pre('find', function() {
  console.log('HELLO I FIRED FIND PRE HOOK');
  this.populate('program history type status')
}

Как мне поступить?

Спасибо

1 Ответ

0 голосов
/ 10 марта 2019

У мангуста нет крючка для предварительного поиска.вы получите только validate, save, remove.Вы можете прочитать больше на: https://mongoosejs.com/docs/middleware.html

...