我有貓鼬在類似的NodeJS這貓鼬模式可選字段
userschema = mongoose.Schema({
org: String,
username: String,
fullname: String,
password: String,
email: String
});
除了有時我需要添加一些更多的字段用戶模式。
主要問題是:我可以在monogoose模式中有可選字段嗎?
我有貓鼬在類似的NodeJS這貓鼬模式可選字段
userschema = mongoose.Schema({
org: String,
username: String,
fullname: String,
password: String,
email: String
});
除了有時我需要添加一些更多的字段用戶模式。
主要問題是:我可以在monogoose模式中有可選字段嗎?
默認情況下,貓鼬模式中的所有字段都是可選的(當然除了_id
)。
只有在將required: true
添加到其定義中時,才需要該字段。
因此,將您的模式定義爲所有可能字段的超集,並將required: true
添加到所需的字段中。
除了可選(默認)和需要,現場也可以是有條件需要,基於一個或多個其他字段。
例如,需要密碼,只有當電子郵件存在:
var userschema = mongoose.Schema({
org: String,
username: String,
fullname: String,
password: {
type: String,
required: function(){
return this.email? true : false
}
},
email: String
});
是否有可能設置'要求:當且僅當第三場已'需要一對夫婦領域的TRUE':TRUE'?這種用例很常見......例如,只有'isContractor'是必填字段時才需要'hourlyRate'和'endDate'。 –