我从一个开源网站下载了一个agz文件,我想将数据库数据恢复到我的mongodb中。首先,我执行了下面的命令,并成功地获得了数据。
mongorestore --gzip --archive=filename.agz --db filename
但并非所有数据都已恢复。我的磁盘没有空间,所以一些数据无法恢复。然后我删除一些文件以获得足够的空间,然后再次运行该命令
但这一次命令行显示类似duplicate id error
的内容。并且没有向数据库添加新数据
所以我放下数据库,运行下面的命令:
mongorestore --gzip --archive=filename.agz --nsInclude filename
10多分钟后,我得到了这个:
执行结果
2022-01-07T11:10:01.015+0800 preparing collections to restore from
2022-01-07T11:22:16.628+0800 0 document(s) restored successfully. 0 document(s) failed to restore.
发生了什么事?我的数据在哪里?如何解决这个问题并从agz文件中获得完整正确的数据?
使用nsInclude
命令
这样更改代码就可以了:
mongorestore --gzip --archive=filename.agz --nsInclude="*"
正如官方网站所说,--db
已被弃用,您应该使用--nsInclude
在还原之前,最好确保磁盘中有足够的空间。