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