MongoDB 模式验证

模式验证

默认情况下,MongoDB 具有灵活的模式。这意味着最初没有设置严格的模式验证。

可以创建模式验证规则,以确保集合中的所有文档共享相似的结构。

模式验证

MongoDB 支持 JSON Schema 验证。$jsonSchema 操作符允许我们定义文档结构。

实例

db.createCollection("posts", {
  validator: {
    $jsonSchema: {
      bsonType: "object",
      required: [ "title", "body" ],
      properties: {
        title: {
          bsonType: "string",
          description: "帖子标题 - 必填。"
        },
        body: {
          bsonType: "string",
          description: "帖子正文 - 必填。"
        },
        category: {
          bsonType: "string",
          description: "帖子类别 - 可选。"
        },
        likes: {
          bsonType: "int",
          description: "帖子点赞数。必须为整数 - 可选。"
        },
        tags: {
          bsonType: ["string"],
          description: "必须为字符串数组 - 可选。"
        },
        date: {
          bsonType: "date",
          description: "必须为日期 - 可选。"
        }
      }
    }
  }
})

运行实例

这将在当前数据库中创建 posts 集合,并为该集合指定 JSON Schema 验证要求。