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

问题描述

我正在恢复 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=manudatabase.* 替换 -db manudatabase,这就是不知道如何处理文件启动的问题

解决方法

通过我自己对问题的研究,例如下面堆栈溢出问题中提出的问题,我找到了答案

问题是在链接下面的堆栈溢出中提出的 Stack Overflow Question Answered on Don't know what to do with file “/”,skipping

解决方案是 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/

它现在完美地恢复了数据库