问题描述
我正在尝试将现有的 MongoDB 转储到新的 MongoDB 根本不使用转储文件。
有没有办法使用管道将数据从 mongodump
传递到 mongorestore
?
像这样:
mongodump --host=0.0.0.0 --port=27017 --db=database_name | mongorestore --host 0.0.0.0 -d database_name --port 27000
谢谢!
解决方法
我找到了这个解决方案:
mongodump -vvvvv --host=0.0.0.0 --port=27017 --db=database_name --archive | mongorestore --archive -vvvvv
说明:
-
mongodump
用于转储(备份)数据库的 MongoDB 实用程序 -
-vvvvv
v 表示详细,将命令的输出写入标准输出,每个v
的数据更多,您可以使用-v
-vv
-vvv
等。 .. -
--host
指定要转储的 MongoDB 的主机 -
--host
指定要转储的 MongoDB 的端口 -
--archive
将输出写入指定的存档文件,如果未指定存档文件,则写入标准输出 (stdout) -
|
获取命令的输出并将其作为输入传递给下一个命令 -
mongorestore
用于恢复数据库的 MongoDB 实用程序