温馨提示×

MongoDB集合有何数据验证规则

小樊
81
2024-11-01 03:07:37
栏目: 云计算

MongoDB 集合的数据验证规则是通过 BSON 文档验证器来定义的。这些验证规则可以确保插入或更新到集合中的文档满足特定的条件。你可以使用 collMod 命令来为现有集合添加、修改或删除验证规则。

以下是一些常见的 BSON 文档验证器规则:

  1. 类型检查:确保文档的字段具有预期的数据类型,例如字符串、数字、布尔值等。
  2. 范围检查:对于数值类型,可以指定最小值和最大值。
  3. 长度检查:对于字符串类型,可以指定最小和最大长度。
  4. 模式匹配:使用正则表达式来匹配字符串字段的值。
  5. 唯一性检查:确保文档的某个字段(通常是 _id 字段)在集合中是唯一的。
  6. 存在性检查:确保文档中包含所有必需的字段。
  7. 自定义验证函数:可以编写自定义的 JavaScript 函数来执行更复杂的验证逻辑。

以下是一个使用 MongoDB 的 collMod 命令为集合添加验证规则的示例:

db.runCommand({
   collMod: "myCollection",
   validator: {
      $jsonSchema: {
         bsonType: "object",
         required: ["name", "age"],
         properties: {
            name: {
               bsonType: "string",
               description: "Name must be a string and is required"
            },
            age: {
               bsonType: "int",
               minimum: 0,
               maximum: 120,
               description: "Age must be an integer between 0 and 120"
            }
         }
      }
   },
   validationLevel: "strict"
})

在这个示例中,我们为名为 myCollection 的集合添加了一个验证规则,该规则要求文档必须包含 nameage 字段,其中 name 是一个字符串,age 是一个介于 0 到 120 之间的整数。validationLevel: "strict" 表示这个验证规则是严格模式,任何不满足条件的文档都将被拒绝插入或更新。

0