如何根据条件设置猫鼬模式的默认属性的值

洛伦佐

我有这个猫鼬的模式:

var UserSchema = new Schema({
    "name":String, 
    "gender":String,
});

我想添加另一个名为image的字段。如果性别为male,则此图像将具有默认值,如果性别为,则它将具有另一个默认值female我发现可以使用以下方式设置默认值:

image: { type: ObjectId, default: "" }

但是我找不到如何设置条件的方法。

格纳库斯

您可以使用文档中间件来实现

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();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章