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

db.collection.renameCollection()

在此页面上

  • 定义
  • 行为
  • 例子

带驱动程序的 MongoDB

本页面提供 mongosh 方法的相关信息。要查看 MongoDB 驱动程序中的等效方法,请参阅编程语言的相应页面:

C#Java SyncNode.jsPyMongoCC++GoJava RSKotlin CoroutineKotlin SyncPHPMongoidRustScala
db.collection.renameCollection(target, dropTarget)

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

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

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

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

警告

db.collection.renameCollection() 方法和 renameCollection 命令会使打开的游标失效,从而中断当前正在返回数据的查询。

对于变更流db.collection.renameCollection() 方法和 renameCollection 命令会为源集合或目标集合上打开的任何现有变更流创建 invalidate 状态。

5.0 版本中的更改

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

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

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

如果客户端在转储进程中发出 db.collection.renameCollection(),则以 --oplog 开头的 mongodump 会失败。有关更多信息,请参阅 mongodump.--oplog

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

db.rrecord.renameCollection("record")

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

后退

db.collection.remove

在此页面上