我转储了一个在默认端口上运行的独立mongo数据库(14Gb大),如下所示:

mongodump --username <username> --password <password> --db <dbname>

并且我正在尝试将其还原到具有以下内容的副本集:
mongorestore --host myReplSet/127.0.0.1:27020 --drop --username <username> --password <password>

还原似乎可以正常工作(大约需要一分钟,并且输出看起来不错),创建了数据库并创建了所有集合,但是集合中没有数据,它们都为空。我究竟做错了什么?

对于它的值(value),本地数据库显示它的大小为10 Gb(我不确定还原之前它有多大)

最佳答案

如果有人面临同样的问题。我使用了一个副本集,并尝试执行Op的命令。 IE

mongorestore --host myReplSet/mongo0.example.com:27020,mongo1.example.com:27012 --db <dbname> <folder_location>

相反,只需转到主服务器并执行此操作
mongorestore --port <if running on port other than 27017> --db <dbname> <location of dump>

这可能对我有用。一种可能的解释可能是,每当我写入主数据库时,它都会自动复制到我的辅助数据库中。因此,无需提供任何副本集地址。如果您不使用辅助工具,则不确定是否可以编写辅助工具。也许其他人可以对此有所了解。

关于mongodb - 从独立到副本集的mongorestore,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19835488/

10-09 23:57