db.cloneDatabase()

在本页面

Definition

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

copydb

首页