数据库复制
语法
db.copyDatabase(fromdb,todb,fromhost,username,password)
从远程主机复制数据到本地,或者从本地复制数据库到远程主机。
参数
(1)、fromdb:string 源数据库名称
(2)、todb:string 目标数据库名称
(3)、fromhost:string 可选项,源数据库的主机名。若是同一主机,则忽略该项
(4)、username:string 可选项 源主机用户名
(5)、password:string 可选项 源主机用户名所对应的密码
属性
(1)、db.copyDatabase()运行在目标主机的mongod实例上
(2)、db.copyDatabase()若目标数据库不存在,则会创建目标数据库
(3)、db.copyDatabase()需要目标机器上有足够的空间进行复制
(4)、db.copyDatabase()并不会产生目标数据库的即时快照。若在复制的过程中在源火目标库中发生读写操作,会导致数据库不一致。
(5)、db.copyDatabase()在操作过程中并不会锁住目标机,所以复制过程中可能出现暂时的终端来完成其他操作
示例
db.copyDatabase("cx_tag","cx_tag","127.0.0.1:27017");
数据表复制
语法
db.runCommand({cloneCollection:"<namespace>",from:"<hostname>",query:{<query>}})
从远程主机复制集合到当前的mongodb示例。集合名称是一致的。
参数
(1)、cloneCollection:string 集合的命名空间,命名空间包含了数据库名和集合名
(2)、from:string 指定远程主机名和可选的端口号
(3)、query:string 可选项,过滤条件
示例
db.runCommand({cloneCollection:"cx_tag.tag",from:"127.0.0.1:27017"})