Необязательные поля схемы Mongoose
У меня есть пользовательская схема с mongoose в nodejs вроде этого
userschema = mongoose.Schema({
org: String,
username: String,
fullname: String,
password: String,
email: String
});
Кроме того, иногда мне нужно добавить еще несколько полей.
Основной вопрос: могу ли я иметь необязательные поля в схеме моногоза?
Ответы
Ответ 1
Все поля в схеме mongoose по умолчанию необязательны (кроме _id
, конечно).
Поле требуется только в том случае, если вы добавите required: true
к его определению.
Итак, определите свою схему как надмножество всех возможных полей, добавив required: true
к требуемым полям.
Ответ 2
Помимо необязательного (по умолчанию) и требуется, поле также может быть условно обязательным, на основе одного или нескольких других поля.
Например, требуется пароль только в том случае, если существует сообщение электронной почты:
var userschema = mongoose.Schema({
org: String,
username: String,
fullname: String,
password: {
type: String,
required: function(){
return this.email? true : false
}
},
email: String
});