某些时候,我们需要迅速根据已存在的库创建一个新的库。
mongodb提供了一个方法db.copyDatabase()
可以快速将已存在的库拷贝为一个新库。
使用方法
直接在目标实例端执行:
db.copyDatabase(fromdb, todb, fromhost, username, password, mechanism)
说明
db.copyDatabase()
本方法fromdb
源库todb
目标库fromhost
源服务器的主机名,省略为复制同一个mongod实例的数据库。username
源服务器用户,可空password
源服务器密码,可空mechanism
源服务器加密方式,可空
注意事项
- 在目标实例执行。
- 如果目标库不存在,会被创建。
- 如果目标库存在,但是不存在源库中的集合,会成功复制。
- 如果目标库中存与源库重复的集合,复制会失败。
举例
下面为复制成功:
>db.copyDatabase("qiansw.com","new.qiansw.com","localhost")
{ "ok" : 1 }
下面因为目标库重复,报错:
> db.copyDatabase("qiansw.com","new.qiansw.com")
{ "ok" : 0, "errmsg" : "collection already exists", "code" : 48 }
本文参考了官网文档:db.copyDatabase
这篇文章还没有人留言,快来抢沙发吧。