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
Previous: MongoDB 删除数据库
Next: MongoDB 插入文档