Подтвердить что ты не робот

Mongoose - как подключить промежуточное ПО схемы к событию "init"?

В Mongoose docs предлагается, чтобы я мог контролировать поток с помощью промежуточного программного обеспечения, которое подключается к "init" -устройству.

Однако до сих пор я имел успех только с "сохранением" и "проверкой".

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

MySchema.post( "init", function (next) { console.log("post init") });
MySchema.pre( "init", function (next) { console.log("pre init") });

Я что-то упустил?

4b9b3361

Ответ 1

Оказывается, что "init" event/hook не запускается при создании новой модели, она запускается только при загрузке существующей модели из базы данных. Кажется, что вместо этого я должен использовать hook/preate.

Ответ 2

Я успешно использовал промежуточное программное обеспечение типа MySchema.post('init', function() { ... }); с Mongoose, которое затем выполняется для каждого экземпляра модели, загруженного в запрос find. Обратите внимание, что для этого промежуточного программного обеспечения не требуется параметр next, он должен просто вернуться, когда это будет сделано.