Я задаю этот вопрос в связи с другим моим вопросом . Короче:
Хук предварительного сохранения выполняется сначала для родителя, и только потом для дочерних элементов вложенного документа.
bank // presave 1
+---bank_account // presave 2
| +----trans
| +----trans
+---bank_account // presave 3
+----trans
Согласно документации Mongoose, дочерние хуки должны выполняться раньше родительских. Я также создаю Node.js на Repl.it, который доказывает это:
( ссылка ) и все работает!
В любом случае, мой реальный код на моем сервере раньше выполнял родительский код, генерируя неправильные вычисления. Может быть ошибка миграции?
Я создал базу данных и коллекцию с помощью Mongoose 4.x. Пару дней назад я обновил до 5.x и создал хук предварительного сохранения для поддокументов. Однако я ожидал, что это сработало бы ...