You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Meteor Collections SimpleSchema:数组字段的allowedValues是否作用于元素?

问题解答:SimpleSchema中数组字段的allowedValues是否校验每个元素?

嘿,这个问题问得特别精准!我对Meteor的SimpleSchema用得挺多的,直接给你明确结论——是的,allowedValues的校验规则会严格作用于数组里的每一个元素。

拿你给出的这段Schema定义举例:

permissions: {
  type: [String],
  allowedValues: ['admin', 'normal']
}

当你尝试插入或更新包含不符合规则元素的数组时,比如permissions: ['admin', 'editor'],SimpleSchema会立刻抛出校验错误,因为editor不在你指定的允许值列表里。它会遍历数组中的每一项,逐一检查是否符合allowedValues的要求,不会放过任何一个不符合规则的元素。

额外提个小细节:如果你的业务场景需要数组可以为空,或者限制数组的长度,可以搭配optional: true、minCount、maxCount这些属性一起使用,但这完全不影响allowedValues对数组元素的逐个校验逻辑。

要是你之后需要对数组元素做更复杂的校验(比如嵌套对象的校验),还可以用schema属性定义嵌套的子Schema,但针对你当前的枚举值校验需求,allowedValues就已经完美胜任啦。

内容的提问来源于stack exchange,提问作者Gobliins

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:46:05