使用 mongorestore 从 Atlas 恢复 MongoDb 存档

Restore MongoDb archive from Atlas with mongorestore

我从我的 mongodb 地图集(在线下载 link)

下载了备份 restore-xxx.tar.gz

我想用这个命令在其他服务器上恢复它

.\mongorestore.exe -uri mongodb+srv://xxx-xxx.mongodb.net --username xxxx --password 'xxxx' --nsFrom='xxxxx.*' --nsTo='restoreDbTest.*' --gzip --archive='D:\MongoExportData\restore-xxx.tar.gz'

我试过解压 tar 也得到了同样的结果 :

.\mongorestore.exe -uri mongodb+srv://xxx-xxx.mongodb.net --username xxxx --password 'xxxx' --nsFrom='xxxxx.*' --nsTo='restoreDbTest.*' --gzip --archive='D:\MongoExportData\unzip-***.gz'

我遇到了这个错误:

2020-10-30T11:41:24.494+0100    Failed: stream or file does not appear to be a mongodump archive
2020-10-30T11:41:24.495+0100    0 document(s) restored successfully. 0 document(s) failed to restore.

你能解释一下为什么我不能用 mongorestore 恢复 atlas 备份吗?[=​​14=]

我找到了解决方案

如何在两个 mongo Atlas 帐户之间导出和恢复 mongoDb:

  1. 从 mongo Atlas
  2. 下载存档
  3. 提取tar
  4. 运行 doemons(确保服务不是 windows 上的 运行)=> 'C:\Program Files\MongoDB\Server.4\bin\mongod.exe' --dbpath D:\MongoExportArchive\restore-5f7431d95f8089221b1e16dd
  5. 创建转储并保存在 D:/data ==> 'D:\MongoTools\bin\mongodump.exe' -d myDataBase -o D:\Data
  6. 使用 mongo恢复导入转储 ==> 'D:\MongoTools\bin\mongorestore.exe' -uri mongodb+srv://xxxxxxxxx.mongodb.net -d dbRestoreProd --username myUser --password 'myP4ss0rd' D:\Data\myDataBase