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: truerequired: true的字段。

除了可选的 (默认)和必需的 ,还可以根据一个或多个其他字段有条件地要求字段。

例如,仅当电子邮件存在时才需要密码:

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