MongoDB创建集合
在 MongoDB 中,集合是存储相关数据的一组无序文档的集合。虽然 MongoDB 允许在插入文档时自动创建集合,但你也可以显式地使用 createCollection 方法来创建集合。本教程将详细指导你如何在 MongoDB 中创建集合,并介绍如何为集合添加选项和验证规则。
显式创建集合
db.createCollection("myCollection")
其中 myCollection 是你想要创建的集合的名称。
创建带有选项的集合
createCollection 方法接受一个可选的 options 参数,允许你指定集合的各种属性,如固定大小、最大文档数、是否启用文档验证等。
- 固定大小集合(Capped Collection):
固定大小集合是一种具有固定大小的集合,当达到最大大小时,新的文档会替换掉最旧的文档。你可以使用 capped、size 和 max 选项来创建一个固定大小集合。
db.createCollection("myCappedCollection", { capped: true, size: 5242880, max: 5000 })
在这个例子中,capped 选项设置为 true,size 选项指定了集合的最大大小为 5MB(5242880 字节),max 选项指定了集合中允许的最大文档数为 5000。
- 文档验证:
你可以为集合添加文档验证规则,以确保插入的文档符合特定的格式。你可以使用 validator、validationLevel 和 validationAction 选项来指定验证规则。
db.createCollection("myValidatedCollection", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "age"],
properties: {
name: {
bsonType: "string",
description: "must be a string and is required"
},
age: {
bsonType: "int",
minimum: 0,
description: "must be an integer and is required"
}
}
}
},
validationLevel: "strict",
validationAction: "error"
})
在这个例子中,我们为集合添加了一个 JSON Schema 验证器,要求文档中必须包含 name 和 age 字段,其中 name 必须是字符串,age 必须是非负整数。validationLevel 设置为 strict 表示所有插入和更新操作都必须通过验证,validationAction 设置为 error 表示如果验证失败,MongoDB 将拒绝插入或更新操作。
验证集合是否创建成功
你可以使用 show collections 命令来查看当前数据库中已创建的集合列表,以验证集合是否创建成功。
show collections
如果集合创建成功,你应该能在列出的集合中看到它的名称。
总结
在 MongoDB 中创建集合是一个简单而灵活的操作。你可以显式地使用 createCollection 方法来创建集合,也可以在插入文档时让 MongoDB 自动为你创建集合。通过指定 options 参数,你还可以为集合添加各种属性和验证规则,以确保数据的完整性和一致性。
本文地址:https://www.tides.cn/p_mongodb-create-collection