Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.collection.renameCollection()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 例子
db.collection.renameCollection(target, dropTarget)

重要

mongosh 方法

本页面提供 mongosh 方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。

有关数据库命令,请参阅 renameCollection命令。

如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

重命名集合。为 renameCollection 数据库命令提供包装器。

Parameter
类型
说明
target
字符串
集合的新名称。将字符串括在引号中。请参阅命名限制
dropTarget
布尔
可选。如果 truemongod 在重命名集合之前删除 renameCollection 中的 target。默认值为 false

此方法可用于以下环境中托管的部署:

  • MongoDB Atlas :用于在云中部署 MongoDB 的完全托管服务

注意

所有 MongoDB Atlas 集群都支持此命令。有关所有命令的信息,请参阅不支持的命令

db.collection.renameCollection()方法通过更改与给定集合关联的元数据在集合中进行操作。

有关其他警告和消息,请参阅文档 renameCollection

警告

db.collection.renameCollection()方法和renameCollection 命令会使打开的游标失效。这会为源集合或目标集合上打开的任何现有 变更流 创建 无效事件 ,并中断当前从重命名的集合中返回数据的查询。

  • 该方法具有以下限制:

    • db.collection.renameCollection() 无法在数据库之间移动集合。使用renameCollection进行这些重命名操作。

    • 您无法重命名视图

    • db.collection.renameCollection() 不支持时间序列集合。

    • 您无法将集合重命名为其自身。如果您尝试将集合重命名为其自身,则会引发 IllegalOperation 错误。

5.0 版本中的更改

重命名分片集群中的分片集合或非分片集合时,源集合和目标集合都以独占方式锁定在每个分片上。对源集合和目标集合的后续操作必须等待重命名操作完成。

有关 MongoDB 中锁定的更多信息,请参阅常见问题解答:并发。

renameCollection() 在操作期间获得对源集合和目标集合的独占锁。对集合的所有后续操作都必须一直等到 renameCollection() 完成。

mongodump--oplog如果客户端在转储进程发出db.collection.renameCollection() ,则使用 将失败。有关更多信息,请参阅mongodump.--oplog

对集合对象调用db.collection.renameCollection()方法。示例:

db.rrecord.renameCollection("record")

该操作会将 rrecord 集合重命名为 record。如果目标名称(即 record)是现有集合的名称,则该操作会失败。

后退

db.collection.remove