如何在MongoDB中创建一个集合?

在MongoDB中,无需显式创建集合。首次向集合插入文档时,集合会被自动创建。
但是,在某些情况下你可能需要显式创建集合,例如:

  1. 你想在创建集合时设置特定的存储引擎或分片键等选项。
  2. 确保在应用首次运行前集合已经存在。
  3. 进行测试时,你可能想先创建一个空集合。

你可以使用db.createCollection()方法显式创建集合。语法如下:

db.createCollection(name, options)
  • name: 集合名称,必填。
  • options: 可选参数,指定有关内存大小和索引的选项。

options可以指定以下字段:

  • capped: 布尔值,若为true则创建固定大小集合。默认为false。
  • autoIndexId: 布尔值,若为true则自动在_id字段创建索引。默认为true。
  • size: 集合最大大小,Bytes,对capped集合必填。
  • max: 集合最大文档数,对capped集合必填。

示例:

# 创建普通集合
db.createCollection("users")

# 创建带固定大小的集合
db.createCollection("logs", {capped: true, size: 100000, max: 10000})

# 创建集合时禁用_id索引
db.createCollection("records", {autoIndexId: false}) 

创建集合时指定合适的选项,可以大大改进集合的性能。例如使用capped集合存储日志数据,使用autoIndexId:false提高大批量插入速度等。