在单个命令中转储和恢复 MongoDB

Dumping and restoring MongoDB in a single command

我正在尝试将现有的 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 恢复数据库的工具