On this page
db.cloneDatabase()
在本页面
Definition
db.
cloneDatabase
(*“主机名” *)- 将远程数据库复制到当前数据库。该命令假定远程数据库的名称与当前数据库的名称相同。
Parameter | Type | Description |
---|---|---|
hostname |
string | 要复制的数据库的主机名。 |
此方法为clone命令提供了包装。
Behavior
Data
db.cloneDatabase()方法不会快照数据库。如果在克隆操作期间的任何时候有任何 Client 端更新您要复制的数据库,则结果数据库可能会不一致。
Locks
clone操作期间,目标数据库将定期锁定。换句话说,db.cloneDatabase()偶尔会屈服以允许完成数据库上的其他操作。
FeatureCompatibilityVersion
您无法在具有featureCompatibilityVersion (FCV) 3.6 的mongod实例与 MongoDB 版本 3.4 和更早的mongod实例之间复制数据。
For example:
Instance 1 | Instance 2 | |
---|---|---|
具有 FCV 3.6 的 3.6 版mongod |
具有 FCV 3.6 的 3.6 版mongod |
可以复制数据。 |
具有 FCV 3.6 的 3.6 版mongod |
具有 FCV 3.4 的 3.6 版mongod |
可以复制数据。 |
具有 FCV 3.6 的 3.6 版mongod |
具有 FCV 3.4 的 3.4 版mongod |
无法复制数据。实例 2 必须是 MongoDB 3.6 版 |
具有 FCV 3.4 的 3.6 版mongod |
具有 FCV 3.4 的 3.4 版mongod |
可以复制数据。 |
具有 FCV 3.4 的 3.6 版mongod |
版本 3.2 mongod |
可以复制数据。 |
复制数据的操作包括:
Example
要在名为hostname
的主机上克隆名为importdb
的数据库,请发出以下命令:
use importdb
db.cloneDatabase("hostname")
隐式创建了新数据库,因此当前主机不需要具有名为importdb
的数据库即可成功执行此命令。
See also