Пн goose Пост Хук для создания (), а не обновления () - PullRequest
0 голосов
/ 09 апреля 2020

Может быть, я недопонимаю, но все, что я могу найти для использования почтового хука для create() на модели mon goose, вызывает метод update(). Являются ли create() и update() одинаковыми?

Что я хочу сделать, это при создании документа User, отправить приветственное электронное письмо, без необходимости вручную вызывать метод на каждом маршруте / контроллере, который создает пользователя.

Я немного разбираюсь в пре- и пост-хуках, и у меня есть хук перед удалением:

userSchema.pre('remove', async function() {
    for (let response of this.responses) {
        Response.findByIdAndRemove(response);
    };
});

Но я не могу найти ничего в mon goose документы для пост-хука для create().

Если create() и update() совпадают, что мешает отправке этого приветственного письма при каждом изменении информации пользователя? Я хочу, чтобы это отправили только один раз, в самом начале.

Дайте мне знать, если я чист как грязь

1 Ответ

0 голосов
/ 17 апреля 2020

Я нашел ответ, наконец, в документах Mon goose окольным путем через запрос функции github: schema.queue: http://mongoosejs.com/docs/api.html#schema_Schema -queue

Итак, я определите method (s), которые я хочу выполнить во время создания экземпляра документа, затем просто используйте команду schema.queue следующим образом:

schema.queue('methodName',[args]);

Для времени Я оставил массив args пустым, потому что они работают только над собой, поэтому никакой другой информации не нужно go in.

В документах это не указано конкретно, но я бы предположил, что объявление методов выглядит так же, как объявление любой функции, метод queue можно вызывать до или после объявления метода, который он вызывает, но я проигнорировал его и поставил после.

Человек, это захватывающе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...