首页/数据/NoSQL 速查/集合 JSON Schema 校验器
本包目录(322 条)
MongoDB99 条
Elasticsearch89 条ClickHouse56 条时序与列式28 条选型与架构50 条

集合 JSON Schema 校验器

建集合时或用过 collMod 给集合挂 $jsonSchema 校验器;validationLevel 与 validationAction 控制触发范围与处理方式。

NoSQL 速查数据更新于 2026-10-12
校验器$jsonSchema: { bsonType: "object", required: [...], properties: {...} }
validationLevelstrict(默认,全部写入校验)/ moderate(放行历史不合规文档的更新)
validationActionerror(拒绝写入)/ warn(仅记录日志)

为已有集合加校验

为已有集合加校验
db.runCommand({
  collMod: "orders",
  validator: { $jsonSchema: { bsonType: "object", required: ["sku", "qty"], properties: { qty: { bsonType: "int", minimum: 1 } } } },
  validationLevel: "moderate"
})
校验只对启用之后的新写入生效,历史数据要自行清洗回填。

易错点

  • 更新操作校验的是文档更新后的最终形态,部分更新不满足 required 同样会被拒绝

数据来源与参考

  • MongoDB Manual: Schema Validation
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌