Как исправить это событие необработанной ошибки в Node.js? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть форма регистрации пользователя в моем веб-приложении, и после того, как я обновился до Пн go 3.6 и Пн goose v5.9.10, я начал получать сообщение об этом сервере узла для своей функции регистрации пользователя.

Я использую Node v8.17.0

1) Где находится 'events. js'? (Я не вижу ссылки на нее в стеке ошибок)

2) Это проблема с чем-то еще, о чем я не знаю?

Я уже пытался изменить номера портов , перезагрузка сервера, удаление папки node_modules и npm установка. Ничего не работает.

events.js:183
      throw er; // Unhandled 'error' event
      ^
TypeError: respond is not a function
    at /home/ec2-user/environment/node_modules/mongoose-unique-validator/index.js:43:9
    at /home/ec2-user/environment/node_modules/mongoose/lib/model.js:4850:16
    at /home/ec2-user/environment/node_modules/mongoose/lib/model.js:4850:16
    at /home/ec2-user/environment/node_modules/mongoose/lib/helpers/promiseOrCallback.js:24:16
    at /home/ec2-user/environment/node_modules/mongoose/lib/model.js:4873:21
    at _hooks.execPost (/home/ec2-user/environment/node_modules/mongoose/lib/query.js:4379:11)
    at /home/ec2-user/environment/node_modules/kareem/index.js:135:16
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickDomainCallback (internal/process/next_tick.js:219:9)

Вот функция, которая запускается непосредственно перед выдачей этой ошибки:

UserSchema.plugin(uniqueValidator);

/**
 * Hook a pre save method to hash the password
 */
UserSchema.pre('save', function(next) {
    console.log("save");
    if (this.password && this.password.length > 0) {
        console.log("hashing password");
        this.salt = new Buffer(crypto.randomBytes(16).toString('base64'), 'base64');
        this.password = this.hashPassword(this.password);
    }

    next();
});

1 Ответ

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

Проблема заключается в том, что модуль mongoose-unique-validator устарел и вызывает ошибку в последних версиях MongoDB и Mon goose. Спасибо @ambianBeing за подсказку.

Я сделал: npm install --save mongoose-unique-validator@latest, чтобы решить проблему go.

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