温馨提示×

MongoDB中的文档验证功能怎么使用

小亿
92
2024-04-19 14:06:19
栏目: 云计算

MongoDB的文档验证功能可以在集合创建时指定验证规则。通过指定验证规则,可以确保插入的文档满足特定的条件。以下是使用文档验证功能的步骤:

  1. 在创建集合时,通过指定验证规则来启用文档验证功能。可以使用以下命令来创建带有验证规则的集合:
db.createCollection("myCollection", {
   validator: {
      $jsonSchema: {
         bsonType: "object",
         required: ["name", "gender", "age"],
         properties: {
            name: {
               bsonType: "string",
               description: "must be a string and is required"
            },
            gender: {
               bsonType: "string",
               description: "must be a string and is required"
            },
            age: {
               bsonType: "int",
               minimum: 0,
               description: "must be a positive integer and is required"
            }
         }
      }
   }
})

上面的代码创建了一个名为myCollection的集合,并定义了一个验证规则,要求插入的文档必须包含namegenderage字段,并且namegender必须是字符串类型,age必须是正整数。

  1. 插入文档时,如果文档不满足验证规则,MongoDB会返回一个错误。例如,如果插入一个缺少age字段的文档:
db.myCollection.insertOne({
   name: "Alice",
   gender: "female"
})

将会返回以下错误:

WriteError({
    "index" : 0,
    "code" : 121,
    "codeName" : "DocumentValidationFailure",
    "errmsg" : "Document failed validation",
    "op" : {
        "name" : "Alice",
        "gender" : "female"
    }
})

通过使用文档验证功能,可以确保插入的文档满足特定的条件,提高数据的完整性和一致性。

0