renameCollection()(重命名集合)
最后更新:2026-10-09
renameCollection()(重命名集合)
renameCollection()将集合重命名为新名称,例如`db.users.renameCollection('members')`。重命名会保留集合的数据与索引,但目标名称已存在时默认报错;传入{dropTarget: true}会先删除同名集合。重命名操作期间集合会短暂不可用,线上环境需谨慎安排。
| 分类 | 索引与管理 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
db.<集合>.renameCollection(<新名称>, { dropTarget: <bool> })
⚙️ 参数
| 新名称 | 集合的新名字字符串。 |
|---|---|
| dropTarget | 可选。true时若目标已存在则先删除,默认false报错。 |
返回值:操作结果对象,含ok状态。
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// renameCollection:把users改名为members
db.users.renameCollection('members')
运行结果:
{ ok: 1 }
📌 注意事项
- 重命名期间集合短暂不可用
- 目标集合已存在时默认报错,需dropTarget: true
- 代码中的集合名引用也要同步修改
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
QrenameCollection会丢数据吗?
A不会,数据和索引会原样保留,只是集合名变了。
Q新名称已存在会怎样?
A默认报错;传入{dropTarget: true}会先删除同名集合再重命名。
Q重命名期间可以读写吗?
A操作是原子的但会短暂占用集合,并发访问可能被阻塞,线上请安排在低峰期。