我正在尝试将远程服务器上的现有mongo数据库“test”复制到同一个远程服务器,但它应该得到一个不同的名称“test2”。 Mongodb在此服务器上受密码保护。
有没有简单的方法可以做到这一点? (我想用此创建一个shell脚本)
我尝试使用
连接到mongomongo "IP"
然后我尝试使用db copy
db.copyDatabase( "test", "test2", "localhost", "<username>", "<password>");
但是这没有成功......即使我在复制之前对自己进行身份验证也会出错...任何建议任何人如何做到这一点最简单?
提前致谢
答案 0 :(得分:0)
我的猜测是使用“localhost”作为主机名会导致您的问题,因为“localhost”与运行shell的计算机与运行mongod的计算机不同。尝试在命令中使用运行db的计算机的主机名或ip而不是“localhost”。
答案 1 :(得分:0)
我会尝试单独运行auth命令。所以像这样:
mongo "IP"
use test
db.auth("<username>", "<password>")
db.copyDatabase("test", "test2")
我认为您不需要将localhost放在同一台服务器上