Mongo还原不知道如何处理文件错误



我正在恢复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}

所以我决定用——nsInclude= manuddatabase代替-db manuddatabase。这就是不知道如何处理文件开头

的问题所在。

通过我自己对以下问题的研究,我找到了答案

在链接下面的堆栈溢出中问了这个问题不知道如何处理文件"/",跳过

解决方案是mongorestore期望转储文件夹包含具有数据库名称的子文件夹,这些子文件夹又包含BSON转储和元数据。你看到的错误是因为它没有找到任何包含BSON/元数据文件的子目录。

所以我的命令应该是这样的


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/

现在它完全恢复了数据库

最新更新