MongoDB创建集合

栏目: mongodb 发布时间:2024-11-07

在 MongoDB 中,集合是存储相关数据的一组无序文档的集合。虽然 MongoDB 允许在插入文档时自动创建集合,但你也可以显式地使用 createCollection 方法来创建集合。本教程将详细指导你如何在 MongoDB 中创建集合,并介绍如何为集合添加选项和验证规则。

显式创建集合

db.createCollection("myCollection")

其中 myCollection 是你想要创建的集合的名称。

创建带有选项的集合

createCollection 方法接受一个可选的 options 参数,允许你指定集合的各种属性,如固定大小、最大文档数、是否启用文档验证等。

  • 固定大小集合(Capped Collection)

固定大小集合是一种具有固定大小的集合,当达到最大大小时,新的文档会替换掉最旧的文档。你可以使用 cappedsizemax 选项来创建一个固定大小集合。

db.createCollection("myCappedCollection", { capped: true, size: 5242880, max: 5000 })

在这个例子中,capped 选项设置为 truesize 选项指定了集合的最大大小为 5MB(5242880 字节),max 选项指定了集合中允许的最大文档数为 5000。

  • 文档验证

你可以为集合添加文档验证规则,以确保插入的文档符合特定的格式。你可以使用 validatorvalidationLevelvalidationAction 选项来指定验证规则。

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 验证器,要求文档中必须包含 nameage 字段,其中 name 必须是字符串,age 必须是非负整数。validationLevel 设置为 strict 表示所有插入和更新操作都必须通过验证,validationAction 设置为 error 表示如果验证失败,MongoDB 将拒绝插入或更新操作。

验证集合是否创建成功

你可以使用 show collections 命令来查看当前数据库中已创建的集合列表,以验证集合是否创建成功。

show collections

如果集合创建成功,你应该能在列出的集合中看到它的名称。

总结

在 MongoDB 中创建集合是一个简单而灵活的操作。你可以显式地使用 createCollection 方法来创建集合,也可以在插入文档时让 MongoDB 自动为你创建集合。通过指定 options 参数,你还可以为集合添加各种属性和验证规则,以确保数据的完整性和一致性。

本文地址:https://www.tides.cn/p_mongodb-create-collection

标签: 前端教程