db.collection.renameCollection()
在本页面
定义
db.collection.
renameCollection
(target,dropTarget)
重命名集合。为renameCollection 数据库命令提供包装。
target
string
集合的新 name。将 string 括在引号中。
dropTarget
boolean
可选的。如果true
,mongod在重命名集合之前删除了renameCollection的目标。默认的 value 是false
。
行为
db.collection.renameCollection()方法通过更改与给定集合关联的元数据在集合中运行。
有关其他警告和消息,请参阅文档renameCollection。
警告
db.collection.renameCollection()方法和renameCollection命令将使打开的游标无效,这会中断当前返回数据的查询。
对于Change Streams,该
db.collection.renameCollection()
方法和renameCollection
命令为在源或目标集合上打开的任何现有 Change Streams创建一个 无效事件。
该方法具有以下限制:
db.collection.renameCollection()无法在数据库之间移动集合。使用renameCollection进行这些重命名操作。
分片集合不支持db.collection.renameCollection()。
您无法重命名意见。
资源锁定
在版本4.2中进行了更改。
renameCollection()
在操作期间获得对源集合和目标集合的排他锁。集合上的所有后续操作都必须等到 renameCollection()
完成。在MongoDB 4.2之前的版本中,renameCollection
需要获得独占数据库锁才能重命名同一数据库内的集合 。
与mongodump
交互
mongodump
交互如果客户端在转储过程中发出db.collection.renameCollection()
,则mongodump
以--oplog
失败开始。看到mongodump.--oplog
获取更多信息。
例子
在集合 object 上调用db.collection.renameCollection()方法。例如:
此操作会将rrecord
集合重命名为record
。如果目标 name(i.e.record
)是现有集合的 name,则操作将失败。
译者:李冠飞
校对:
最后更新于