MongoDB 集合

MongoDB 集合(Collection)

一、集合是什么?

  • 集合(Collection)相当于关系型数据库中的表(Table)
  • 集合由多个文档(Document)组成
  • 与关系型数据库不同:
    • 不需要提前定义字段
    • 同一个集合中,不同文档的字段可以不一样
    • 文档结构更灵活

对比理解

关系型数据库MongoDB
数据库(Database)数据库(Database)
表(Table)集合(Collection)
行(Row)文档(Document)
列(Column)字段(Field)

二、显式创建集合

基本语法

db.createCollection(name, options)Code language: CSS (css)

创建简单集合

use test
db.createCollection("persons")Code language: JavaScript (javascript)

返回结果:

{ "ok" : 1 }Code language: JSON / JSON with Comments (json)

查看当前数据库中的集合

show collections

三、创建固定集合(Capped Collection)

固定集合:

  • 大小固定
  • 插入顺序固定
  • 超出上限后会覆盖最早的数据
  • 常用于日志、缓存等场景

示例

db.createCollection("mycol", {
  capped: true,
  autoIndexId: true,
  size: 6142800,
  max: 10000
})Code language: CSS (css)

参数说明

参数说明
capped是否为固定集合
autoIndexId是否自动为 _id 创建索引
size集合最大大小(字节)
max最大文档数量

注意:

  • size必填项
  • max 是可选限制

四、隐式创建集合

MongoDB 中,插入文档时如果集合不存在,会自动创建集合

db.books.insert({
  name: "MongoDB入门教程"
})Code language: CSS (css)

查看集合:

show collections

实际开发中,大多数情况下不需要手动 createCollection()


五、查看集合

show collections

或:

db.getCollectionNames()Code language: CSS (css)

六、删除集合

语法

db.collectionName.drop()Code language: CSS (css)

示例

show collections
db.mycol.drop()Code language: CSS (css)

返回:

trueCode language: JavaScript (javascript)
  • 删除成功:true
  • 集合不存在:false

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注