📜  MongoDB-创建集合(1)

📅  最后修改于: 2023-12-03 15:03:02.041000             🧑  作者: Mango

MongoDB-创建集合

在MongoDB中,集合是一组相关文档的存储单元。它们类似于关系数据库中的表。集合在MongoDB中是动态创建的,这意味着当您插入第一个文档时,会自动创建集合。

为了创建集合,您可以使用db.createCollection()方法或直接插入一个文档。

使用db.createCollection()方法创建集合

您可以使用db.createCollection()方法来显式地创建一个集合。该方法接受两个参数:集合的名称和一个可选的选项对象。

使用以下语法创建集合:
db.createCollection(collectionName, options)
  • collectionName是要创建的集合的名称。
  • options是一个可选的对象,用于指定集合的一些选项。例如,您可以指定集合的大小限制、索引或验证规则等。

以下是一个示例,演示如何创建一个名为users的集合:

db.createCollection("users")

请注意,MongoDB中的集合名称可以包含字母、数字和下划线,并且不能以系统保留的前缀(如system.)开头。

直接插入文档

除了使用db.createCollection()方法创建集合外,您还可以通过直接插入一个文档来隐式创建集合。当您插入第一个文档时,MongoDB会自动创建相关联的集合。

以下是一个示例,演示如何隐式地创建一个名为products的集合,并插入一个文档到该集合中:

db.products.insertOne({ name: "iPhone", price: 999 })

在上述示例中,当您执行插入文档的操作后,MongoDB会自动创建一个名为products的集合。

集合选项

在创建集合时,您可以使用选项对象来设置集合的属性。以下是几个常用的选项:

  • size:指定集合的大小限制。
  • capped:指定集合是否是固定大小的(类似于循环缓冲区)。
  • validator:指定用于验证文档的规则。
  • indexOptionDefaults:指定用于索引的默认选项。

以下是一个示例,演示如何使用选项对象创建一个大小为50MB、固定大小、包含验证规则和默认索引选项的集合:

db.createCollection("logs", {
  size: 50 * 1024 * 1024,
  capped: true,
  validator: { $jsonSchema: { required: ["message"], properties: { message: { bsonType: "string" } } } },
  indexOptionDefaults: { background: true }
})

在上述示例中,我们创建了一个名为logs的集合,并指定了各种选项。

结论

创建集合是在MongoDB中存储和组织文档的基本操作之一。您可以使用db.createCollection()方法或通过直接插入文档来创建集合。同时,您可以使用选项对象来设置集合的属性,以满足您的需求。

希望本文能帮助您了解如何在MongoDB中创建集合并掌握相关的概念。如需更详细的信息,请参考MongoDB官方文档