0

Mongoose: Опциональные поля в схеме

218

У меня есть схема пользователя с использованием Mongoose в Node.js, которая выглядит следующим образом:

userschema = mongoose.Schema({
    org: String,
    username: String,
    fullname: String,
    password: String,
    email: String
});

Однако иногда мне нужно добавлять некоторые дополнительные поля.

Основной вопрос: Могу ли я использовать необязательные поля в схеме Mongoose?

1 ответ(ов)

0

В дополнение к optional (по умолчанию) и required, поле может быть также условно обязательным, в зависимости от состояния одного или нескольких других полей.

Например, мы можем требовать наличие пароля только в том случае, если указан email:

var userschema = mongoose.Schema({
    org: String,
    username: String,
    fullname: String,
    password: {
        type: String,
        required: function(){
            return this.email ? true : false; 
        }
    },
    email: String
});

Таким образом, если поле email заполнено, то поле password станет обязательным для заполнения.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь