导读:本期聚焦于小伙伴创作的《MongoDB创建集合命令db.createCollection怎么使用》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《MongoDB创建集合命令db.createCollection怎么使用》有用,将其分享出去将是对创作者最好的鼓励。

MongoDB作为主流的NoSQL数据库,集合相当于关系型数据库中的表,是存储文档的基本单位。除了插入文档时自动创建集合外,我们也可以通过db.createCollection命令主动创建集合,方便提前定义集合的规则和属性。

MongoDB创建集合命令db.createCollection怎么使用

db.createCollection基本语法

该命令的基础语法格式如下:

db.createCollection(name, options)

其中name是必填参数,表示要创建的集合名称,需符合MongoDB的命名规范,不能包含空字符,不能以system.开头。options是可选参数,是一个文档类型,用来配置集合的各项属性。

常用options参数说明

以下是options中常用的参数及含义:

参数名类型说明
capped布尔值是否创建固定大小集合,true表示固定集合,需要配合size参数使用
size数值固定集合的最大大小,单位是字节,capped为true时必填
max数值固定集合最多可存储的文档数量,可选参数
validator文档集合的校验规则,用来限制插入文档的结构和数据类型
validationLevel字符串校验级别,可选值有off、strict、moderate

使用示例

示例1:创建普通集合

创建一个名为user的普通集合,不需要额外配置参数:

// 切换到目标数据库
use test_db
// 创建普通集合
db.createCollection("user")
// 查看当前数据库的所有集合
show collections

示例2:创建固定大小集合

创建一个名为log的固定集合,最大大小为10240字节,最多存储100条文档:

db.createCollection("log", {
    capped: true,
    size: 10240,
    max: 100
})

示例3:创建带校验规则的集合

创建一个名为student的集合,要求插入的文档必须包含name字段(字符串类型)和age字段(数值类型,且年龄在1到100之间):

db.createCollection("student", {
    validator: {
        $and: [
            { name: { $type: "string" } },
            { age: { $type: "number", $gte: 1, $lte: 100 } }
        ]
    },
    validationLevel: "strict"
})

注意事项

  • 如果创建的集合名称已经存在,会抛出错误,需要确认集合不存在后再创建,或者先删除已有集合
  • 固定集合一旦创建,大小无法修改,如果需要调整大小,只能删除后重新创建
  • 校验规则只在插入和更新文档时生效,已存在的文档不会被校验规则影响
  • 如果不需要提前定义集合规则,也可以直接插入文档,MongoDB会自动创建对应的集合

建议在实际开发中,如果需要明确集合的结构和存储限制,尽量使用db.createCollection主动创建集合,避免后续出现数据不规范或者存储异常的问题。

MongoDBdb.createCollection集合创建NoSQL数据库操作修改时间:2026-05-30 20:33:12

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。