我正在恢复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/
现在它完全恢复了数据库