On this page本页内容
db.collection.renameCollection(target, dropTarget)
This is a mongosh
method. This is not the documentation for Node.js
or other programming language specific driver methods.
In most cases, mongosh
methods work the same way as the legacy mongo
shell methods. However, some legacy methods are unavailable in mongosh
.
For the legacy mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release:
For MongoDB API drivers, refer to the language specific MongoDB driver documentation.
Renames a collection. 重命名集合。Provides a wrapper for the 为renameCollection
database command.renameCollection
数据库命令提供包装。
target | string | |
dropTarget | boolean | true , mongod drops the target of renameCollection prior to renaming the collection. true ,mongod 将在重命名集合之前删除renameCollection 的target 。false .false 。
|
The db.collection.renameCollection()
method operates within a collection by changing the metadata associated with a given collection.db.collection.renameCollection()
方法通过更改与给定集合关联的元数据来在集合中操作。
Refer to the documentation 有关其他警告和消息,请参阅文档renameCollection
for additional warnings and messages.renameCollection
。
The db.collection.renameCollection()
method and renameCollection
command will invalidate open cursors which interrupts queries that are currently returning data.db.collection.renameCollection()
方法和renameCollection
命令将使中断当前返回数据的查询的打开游标无效。
For Change Streams, the 对于变更流,db.collection.renameCollection()
method and renameCollection
command create an invalidate
Event for any existing Change Streams opened on the source or target collection.db.collection.renameCollection()
方法和renameCollection
命令为源集合或目标集合上打开的任何现有变更流创建一个invalidate
事件。
The method has the following limitations:该方法有以下限制:
db.collection.renameCollection()
renameCollection
for these rename operations.renameCollection
。db.collection.renameCollection()
db.collection.renameCollection()
is not supported on time series collections.db.collection.renameCollection()
。IllegalOperation
error is thrown.IllegalOperation
错误。Changed in version 5.0.在版本5.0中更改。
When renaming a sharded or unsharded collection in a sharded cluster, the source and target collections are exclusively locked on every shard. Subsequent operations on the source and target collections must wait until the rename operation completes.在分片集群中重命名分片或未分片的集合时,源集合和目标集合在每个分片上以独占方式锁定。对源集合和目标集合的后续操作必须等待重命名操作完成。
For more information on locking in MongoDB, see FAQ: Concurrency.有关MongoDB中锁定的更多信息,请参阅常见问题解答:并发。
Changed in version 4.2.在版本4.2中更改。
renameCollection()
obtains an exclusive lock on the source and target collections for the duration of the operation. 在操作期间获取源集合和目标集合的独占锁。All subsequent operations on the collections must wait until 对集合的所有后续操作必须等到renameCollection()
completes. renameCollection()
完成。Prior to MongoDB 4.2, renaming a collection within the same database with 在MongoDB 4.2之前,使用renameCollection
required obtaining an exclusive database lock.renameCollection
重命名同一数据库中的集合需要获得独占数据库锁。
mongodump
mongodump
的交互A 如果客户端在转储过程中发出mongodump
started with --oplog
fails if a client issues db.collection.renameCollection()
during the dump process. db.collection.renameCollection()
,以--oplog
启动的mongodump
将失败。See 请参阅mongodump.--oplog
for more information.mongodump.--oplog
了解更多信息。
Call the 对集合对象调用db.collection.renameCollection()
method on a collection object. db.collection.renameCollection()
方法。For example:例如:
db.rrecord.renameCollection("record")
This operation will rename the 此操作将rrecord
collection to record
. rrecord
集合重命名为record
。If the target name (i.e. 如果目标名称(即record
) is the name of an existing collection, then the operation will fail.record
)是现有集合的名称,则操作将失败。