Ответ 1
Оказывается, что "init" event/hook не запускается при создании новой модели, она запускается только при загрузке существующей модели из базы данных. Кажется, что вместо этого я должен использовать hook/preate.
В Mongoose docs предлагается, чтобы я мог контролировать поток с помощью промежуточного программного обеспечения, которое подключается к "init" -устройству.
Однако до сих пор я имел успех только с "сохранением" и "проверкой".
Когда я делаю что-то подобное, ни одно из этих промежуточных программ никогда не вызывается:
MySchema.post( "init", function (next) { console.log("post init") });
MySchema.pre( "init", function (next) { console.log("pre init") });
Я что-то упустил?
Оказывается, что "init" event/hook не запускается при создании новой модели, она запускается только при загрузке существующей модели из базы данных. Кажется, что вместо этого я должен использовать hook/preate.
Я успешно использовал промежуточное программное обеспечение типа MySchema.post('init', function() { ... });
с Mongoose, которое затем выполняется для каждого экземпляра модели, загруженного в запрос find
. Обратите внимание, что для этого промежуточного программного обеспечения не требуется параметр next
, он должен просто вернуться, когда это будет сделано.