mongoose模式可选字段
我有一个像这样在nodejs中有mongoose的用户模式
userschema = mongoose.Schema({ org: String, username: String, fullname: String, password: String, email: String });
除了有时我需要添加更多的字段。
主要问题是:我可以在monogoose模式中有可选字段吗?
在mongoose模式中的所有字段默认是可选的(当然除了_id
)。
只有当您添加required: true
才需要字段required: true
对其定义为required: true
。
因此,将您的模式定义为所有可能字段的超集,然后添加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 });