перенести Mongoose из 4.x в 5.x - поведение вложенных документов - PullRequest
0 голосов
/ 04 апреля 2019

Я задаю этот вопрос в связи с другим моим вопросом . Короче: Хук предварительного сохранения выполняется сначала для родителя, и только потом для дочерних элементов вложенного документа.

bank    // presave 1
  +---bank_account   // presave 2
  |          +----trans
  |          +----trans
  +---bank_account  // presave 3
             +----trans

Согласно документации Mongoose, дочерние хуки должны выполняться раньше родительских. Я также создаю Node.js на Repl.it, который доказывает это: ( ссылка ) и все работает!

В любом случае, мой реальный код на моем сервере раньше выполнял родительский код, генерируя неправильные вычисления. Может быть ошибка миграции? Я создал базу данных и коллекцию с помощью Mongoose 4.x. Пару дней назад я обновил до 5.x и создал хук предварительного сохранения для поддокументов. Однако я ожидал, что это сработало бы ...

...