Mongoose: Опциональные поля в схеме
У меня есть схема пользователя с использованием Mongoose в Node.js, которая выглядит следующим образом:
userschema = mongoose.Schema({
org: String,
username: String,
fullname: String,
password: String,
email: String
});
Однако иногда мне нужно добавлять некоторые дополнительные поля.
Основной вопрос: Могу ли я использовать необязательные поля в схеме Mongoose?
1 ответ(ов)
В дополнение к 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 станет обязательным для заполнения.
Как вернуть результаты Mongoose из метода find?
MongoParseError: URI отсутствует имя хоста, доменное имя и TLD
Как узнать версию установленного npm пакета?
Как задать переменные окружения из файла package.json?
Самый быстрый способ скопировать файл в Node.js