我正在恢复一个Mongo数据库,我得到了以下错误
2021-07-25T14:53:21.972+0000 preparing collections to restore from
2021-07-25T14:53:21.977+0000 don't know what to do with file "/mongoBackUp/manudatabase/customer.bson", skipping...
2021-07-25T14:53:21.978+0000 don't know what to do with file "/mongoBackUp/manudatabase/customer.metadata.json", skipping...
2021-07-25T14:53:21.979+0000 don't know what to do with file "/mongoBackUp/manudatabase/product.bson", skipping...
2021-07-25T14:53:21.979+0000 don't know what to do with file "/mongoBackUp/manudatabase/product.metadata.json", skipping...
2021-07-25T14:53:21.980+0000 don't know what to do with file "/mongoBackUp/manudatabase/productCategory.bson", skipping...
2021-07-25T14:53:21.980+0000 don't know what to do with file "/mongoBackUp/manudatabase/productCategory.metadata.json", skipping...
2021-07-25T14:53:21.981+0000 don't know what to do with file "/mongoBackUp/manudatabase/sale.bson", skipping...
2021-07-25T14:53:21.982+0000 don't know what to do with file "/mongoBackUp/manudatabase/sale.metadata.json", skipping...
2021-07-25T14:53:21.982+0000 don't know what to do with file "/mongoBackUp/manudatabase/student.bson", skipping...
2021-07-25T14:53:21.983+0000 don't know what to do with file "/mongoBackUp/manudatabase/student.metadata.json", skipping...
2021-07-25T14:53:21.983+0000 0 document(s) restored successfully. 0 document(s) failed to restore.
下面是我用来恢复的命令
mongorestore --nsInclude=manudatabase.* --authenticationDatabase admin --username r*****q --password r*****q /mongoBackUp/manudatabase
我试过使用下面的命令,它工作得很好,但它被弃用了
mongorestore --db manudatabase --username r*****q --password r*****q --authenticationDatabase admin /mongoBackUp/manudatabase
下面是折旧误差
The --db and --collection flags are deprecated for this use-case; please use --nsInclude instead, i.e. with --nsInclude=${DATABASE}.${COLLECTION}
因此,我决定将-db manudatabase替换为--nsInclude=manudatabase。*这就是问题所在,因为我不知道如何处理文件
发布于 2021-07-25 23:19:35
通过我自己对下面堆栈溢出问题的研究,我找到了答案。
该问题是在链接Stack Overflow Question Answered on Don't know what to do with file “/”, skipping下面的堆栈溢出中提出的
解决方案是mongorestore期望转储文件夹包含具有数据库名称的子文件夹,而子文件夹又包含BSON转储和元数据。您看到的错误是因为它没有找到任何包含BSON/metadata文件的子目录。
所以我的命令应该是下面这样的
mongorestore --nsInclude=manudatabase.* --authenticationDatabase admin --username r*****q --password r*****q /mongoBackUp
而不是
mongorestore --nsInclude=manudatabase.* --authenticationDatabase admin --username r*****q --password r*****q /mongoBackUp/manudatabase
我变了
/mongoBackUp/manudatabase
至
/mongoBackUp/
现在,它可以完美地恢复数据库
https://stackoverflow.com/questions/68519815
复制相似问题