限制架构参考猫鼬

时间:2018-03-26 01:52:48

标签: javascript mongodb mongoose

我的架构设备具有以下属性

user : { type: Schema.Types.ObjectId, ref: 'User', required: true }

以及具有以下属性的另一个架构用户

device : [{ type: Schema.Types.ObjectId, ref: 'Device' }]

是否可以将用户可以拥有的设备数量限制为3?

1 个答案:

答案 0 :(得分:2)

是。您需要做的是添加一个验证属性并传递验证函数和错误消息,如果大小超过最大长度这里我给了一个函数,其限制为10.您可以根据您的要求更改它。

var UserSchema = new Schema({
    device: {
      type: [{
        type: Schema.Types.ObjectId,
        ref: 'Device'
      }],
      validate: [limit, '{PATH} exceeds the limit of 10']
    }
  });

function limit(val) {
    return val && val.length <= 10;
  }