如何根据条件设置Mongoose模式的默认属性的值
我有这个mongoose模式:
var UserSchema = new Schema({ "name":String, "gender":String, });
我想添加另一个名为image的字段。 如果性别是male
,则此图像将具有默认值,如果性别是male
,则将具有另一个默认值。 我发现默认值可以设置为:
image: { type: ObjectId, default: "" }
但我不知道如何设定条件。
您可以使用文档中间件来实现这一点。
在pre:save
之前,可以使用pre:save
钩子在文档上设置一个值:
var UserSchema = new Schema({ "name":String, "gender":String, }); UserSchema.pre('save', function(next) { if (this.gender === 'male') { this.image = 'Some value'; } else { this.image = 'Other value'; } next(); });