yarkov
@yarkov
Помог ответ? Отметь решением.

Как получить доступ к this модели?

Вопрос в комментариях к коду
var UserSchema = new Schema({
	// Email пользователя
	email: {
		type: String,
		required: true,
		unique: true
	},
	........................................
	// API KEY
	apikey: {
		type: String,
		required: true,
		// Как получить доступ к полю email из функции default?
		default: function(){
			return SHA512(this.email).toString().to(50); // this.email не возвращает Email пользователя. Он у всех одинаковый получается.
		}
	},
	........................................
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
kirill89
@kirill89
Могу предложить использовать хук.

UserSchema.pre('save', function() {
  if (!this.apikey) { // проверяем что ещё не задано
    this.apikey = SHA512(this.email).toString().to(50);
  }
});


В этом случае default для apikey нужно просто убрать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы