我的架构设备具有以下属性
user : { type: Schema.Types.ObjectId, ref: 'User', required: true }
以及具有以下属性的另一个架构用户:
device : [{ type: Schema.Types.ObjectId, ref: 'Device' }]
是否可以将用户可以拥有的设备数量限制为3?
答案 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;
}