Ошибка: виртуальный путь «пароль» конфликтует с реальным путем в схеме - PullRequest
0 голосов
/ 29 июня 2018

Когда я пытаюсь добавить Virtuals в свою схему, я получаю следующую ошибку и не могу ее решить ... Пожалуйста, помогите решить ее и, пожалуйста, дайте мне знать, почему это происходит

var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var recipientSchema = new mongoose.Schema({
  email: { type: String, trim: true, required:  true },
  password: { type: String, required: true },
});


/**
 * Virtuals
 */
recipientSchema
  .virtual('password')
  .set(function(password) {
    this._password = password;
    this.salt = this.makeSalt();
    this.hashedPassword = this.encryptPassword(password);
  })
  .get(function() {
    return this._password;
  });

module.exports = mongoose.model('Recipients', recipientSchema);

1 Ответ

0 голосов
/ 02 июля 2018

Если вы используете виртуальный 'пароль' , вам не нужно указывать реальный пароль в схеме. Также вы не объявили hashedPassword и соль

Ваша схема должна быть такой

var recipientSchema = new mongoose.Schema({
  email: { type: String, trim: true, required:  true },
  hashedPassword: { type: String, required: true },
  salt: { type: String, required: true }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...