我有这个 Mongoose 模式:
var UserSchema = new Schema({
"name":String,
"gender":String,
});
我想添加另一个名为图像的字段。如果性别为 male
,则该图像将具有默认值;如果性别为 female
,则该图像将具有另一个默认值。我发现可以设置默认值:
image: { type: ObjectId, default: "" }
但是我没有找到如何设置它的条件。
最佳答案
您可以使用 document middleware 来实现此目的.
pre:save
Hook 可用于在文档保存之前设置一个值:
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();
});
关于javascript - 如何根据条件设置 Mongoose 模式的默认属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36319809/