集合管理
📑 目录
概述
monSQLize 提供了 MongoDB 集合管理的基本功能,包括创建集合、删除集合和创建视图集合。这些方法用于动态管理数据库结构。
核心特性
- ✅ 创建集合:支持标准集合和带选项的集合
- ✅ 删除集合:快速删除集合及其所有数据
- ✅ 创建视图:基于聚合管道创建视图集合
- ✅ 错误处理:完善的错误提示和日志记录
API 方法
createCollection()
创建新集合或指定选项的集合。
方法签名
参数说明
options 选项
返回值
使用示例
基本用法
1. 创建标准集合
2. 创建当前绑定的集合
3. 创建固定大小集合(Capped Collection)
固定大小集合适用于日志、缓存等场景,当达到大小限制时会自动删除最旧的文档。
4. 创建带验证规则的集合
使用 JSON Schema 验证文档结构:
dropCollection()
删除集合及其所有数据。
方法签名(dropCollection())
参数说明(dropCollection())
无参数。删除当前绑定的集合。
返回值(dropCollection())
使用示例(dropCollection())
⚠️ 注意事项
- 不可逆操作:删除集合会永久删除所有数据,无法恢复
- 索引也会删除:集合的所有索引会一并删除
- 权限要求:需要数据库的
dropCollection权限
createView()
创建视图集合(基于聚合管道的只读视图)。
方法签名(createView())
参数说明(createView())
返回值(createView())
视图集合示例
1. 创建基础视图
2. 创建统计视图
3. 创建连接视图($lookup)
4. 创建时间序列视图
最佳实践
1. 集合命名规范
2. 验证规则的使用
3. 视图的性能考虑
4. 固定集合的使用场景
常见问题
Q1: 如何检查集合是否已存在?
A: 可以使用 MongoDB 的 listCollections 方法:
Q2: 删除集合时如何避免误删?
A: 建议在删除前进行确认和备份:
Q3: 视图可以被修改吗?
A: 视图是只读的,但可以删除后重新创建:
Q4: 固定集合有什么限制?
A: 固定集合的主要限制:
- 不支持文档删除:只能删除整个集合
- 不支持更新导致文档增大:更新后的文档大小不能超过原始大小
- 不支持分片:固定集合不能被分片
- 插入顺序固定:文档按插入顺序存储,无法更改
Q5: 如何批量创建集合?
A: 可以使用循环或 Promise.all: