MongoDB的文档验证功能可以在集合创建时指定验证规则。通过指定验证规则,可以确保插入的文档满足特定的条件。以下是使用文档验证功能的步骤:
- 在创建集合时,通过指定验证规则来启用文档验证功能。可以使用以下命令来创建带有验证规则的集合:
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
的集合,并定义了一个验证规则,要求插入的文档必须包含name
、gender
和age
字段,并且name
和gender
必须是字符串类型,age
必须是正整数。
- 插入文档时,如果文档不满足验证规则,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"
}
})
通过使用文档验证功能,可以确保插入的文档满足特定的条件,提高数据的完整性和一致性。