文档菜单
文档首页
/
MongoDB 手册
/

模式验证

在本页

  • 何时使用模式验证
  • MongoDB何时检查验证
  • 文档验证失败时会发生什么
  • 开始使用
  • 了解更多

模式验证允许您为字段创建验证规则,例如允许的数据类型和值范围。

MongoDB使用灵活的架构模型,这意味着默认情况下,集合中的文档不需要具有相同的字段或数据类型。一旦您建立了应用程序架构,您就可以使用架构验证来确保没有意外的架构更改或不正确的数据类型。

您的模式验证需求取决于用户如何使用您的应用程序。当您的应用程序处于开发初期时,模式验证可能会施加不实用的限制,因为您不知道如何组织数据。具体来说,您的集合字段可能会随时间而变化。

模式验证在已建立的应用程序中非常有用,您对如何组织数据有很好的了解。您可以在以下场景中使用模式验证:

  • 对于用户集合,确保以下内容:密码字段仅以字符串形式存储。这种验证可以防止用户将密码以意外的数据类型保存,如图像。

  • 对于销售集合,确保商品字段属于您商店销售的物品列表。这种验证可以防止用户在输入销售数据时意外拼写商品名称。

  • 对于学生集合,确保GPA字段始终为正数。这种验证可以防止数据输入时的错误。

在您向集合添加模式验证规则后

  • 所有文档插入必须匹配规则。

  • 模式验证级别定义了规则如何应用于现有文档和文档更新。要了解更多信息,请参阅为现有文档指定验证级别.

要查找不匹配模式验证规则的文档,请参阅 查找不匹配的文档。

默认情况下,当插入或更新操作会导致无效文档时,MongoDB会拒绝该操作,并将文档写入集合。

另外,您可以配置MongoDB以允许无效的文档,并在出现模式违反时记录警告。

要了解更多信息,请参阅如何处理无效文档的选择。

有关涉及模式验证的常见任务,请参阅以下页面

要了解MongoDB灵活的模式模型,请参阅数据建模。

返回

使用嵌入