参考 > 参考 > mongo Shell方法 > 数据库方法 > db.cloneCollection()
db.
cloneCollection
(来自,集合,查询)¶从4.2版开始不推荐使用: MongoDB不推荐使用cloneCollection
及其助手
db.cloneCollection()
。有关替代方法,请参见
弃用对cloneCollection的支持。
直接在MongoDB实例之间复制数据。该
db.cloneCollection()
方法包装
cloneCollection
命令并接受以下参数:
参数 | 类型 | 描述 |
---|---|---|
from |
串 | 要克隆的服务器的地址。 |
collection |
串 | 您要复制的MongoDB实例中的集合。
如果要从其他数据库名称复制集合,则必须 |
query |
文献 | 可选的。一个标准的查询文档,它限制了在db.cloneCollection() 操作中复制的文档
。可用于的所有查询选择器find() 在此处。 |
mongos
¶复制指定的集合时,db.cloneCollection()
在from
服务器中使用与目标数据库相同的数据库名称。如果该集合在源数据库中不存在,则db.cloneCollection()
失败。
如果给定的集合已存在于目标
mongod
实例中,则db.cloneCollection()
返回错误。
db.cloneCollection()
如果from
服务器已
启用授权,则不能使用。
您不能在mongod
具有featureCompatibilityVersion(FCV) 4.0 的MongoDB 4.0 实例和MongoDB 3.6版的mongod
实例之间复制数据。
例如:
实例1 | 实例2 | |
---|---|---|
mongod 带有FCV 4.0的4.0 版 |
mongod 带有FCV 4.0的4.0 版 |
可以复制数据。 |
mongod 带有FCV 4.0的4.0 版 |
mongod 带有FCV 3.6的4.0版 |
可以复制数据。 |
mongod 带有FCV 4.0的4.0 版 |
mongod 带有FCV 3.6的3.6 版 |
无法复制数据。实例2必须是MongoDB版本4.0 |
mongod 带有FCV 3.6的4.0版 |
mongod 带有FCV 3.6的3.6 版 |
可以复制数据。 |
mongod 带有FCV 3.6的4.0版 |
mongod 具有FCV 3.4的3.6版 |
可以复制数据。 |
通常,如果mongod
实例将其
featureCompatibilityVersion(FCV)设置为其MongoDB版本,则无法在该实例与mongod
MongoDB早期版本的实例之间复制数据
。
复制数据的操作包括:
此操作将profiles
集合从users
服务器上mongodb.example.net
的users
数据库复制到本地服务器上的数据库。该操作仅复制满足查询条件的文档。{ 'active' : true }