我要问的是与我的其他question相关的问题。长话短说: 先对父级执行pre-save钩子,然后才对子文档的子级元素执行。
bank // presave 1
+---bank_account // presave 2
| +----trans
| +----trans
+---bank_account // presave 3
+----trans
根据猫鼬的文档,子钩应该在父钩之前执行。我还将在Repl.it上创建一个Node.js片段,以证明这一点: (link),就可以了!
无论如何,我服务器上的真实代码之前会执行父级操作,从而产生错误的计算结果。可能是迁移故障吗? 我已经用Mongoose 4.x创建了数据库和集合。几天前,我已经更新到5.x,并为子文档创建了预保存钩子。但是,我原以为它会起作用...