数据验证
MongoDB提供了数据验证功能,可以在插入或更新文档时强制执行数据验证规则。数据验证可以确保文档符合特定的规范和限制,从而提高数据的质量和一致性。
以下是一个示例,展示了如何定义数据验证规则:
代码语言:javascript复制db.createCollection("users", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "email"],
properties: {
name: {
bsonType: "string",
description: "must be a string and is required"
},
email: {
bsonType: "string",
pattern: "^[a-zA-Z0-9._% -] @[a-zA-Z0-9.-] .[a-zA-Z]{2,}$",
description: "must be a valid email address and is required"
},
age: {
bsonType: "int",
minimum: 0,
maximum: 120,
description: "must be an integer between 0 and 120"
}
}
}
}
})
在这个示例中,我们使用$jsonSchema
运算符定义了一个JSON模式,该模式描述了文档必须满足的特定规范。具体来说,我们要求users
集合中的每个文档都必须包含name
和email
字段,且它们的值必须是字符串类型。我们还要求age
字段必须是介于0和120之间的整数。如果插入或更新文档时不符合这些规则,MongoDB将拒绝操作并返回错误。