mongorestore 从独立到副本集

Cli*_*sch 5 mongodb

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

mongodump --username <username> --password <password> --db <dbname>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下内容将其恢复到副本集:

mongorestore --host myReplSet/127.0.0.1:27020 --drop --username <username> --password <password>
Run Code Online (Sandbox Code Playgroud)

恢复似乎工作(需要一分钟左右,输出看起来不错)创建了数据库并创建了所有集合,但集合中没有数据,它们都是空的。我究竟做错了什么?

值得一提的是,本地数据库显示它有 10 Gb 大(我不确定还原前有多大)

Sar*_*rya 5

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

mongorestore --host myReplSet/mongo0.example.com:27020,mongo1.example.com:27012 --db <dbname> <folder_location>
Run Code Online (Sandbox Code Playgroud)

相反,只需转到主服务器并执行此操作

mongorestore --port <if running on port other than 27017> --db <dbname> <location of dump>
Run Code Online (Sandbox Code Playgroud)

这对我有用,可能的解释是,每当我写入主数据库时,它都会自动复制到我的辅助数据库。因此不需要给出任何副本集地址。如果你在中学写,这可能会起作用,我不确定,没有尝试过。也许其他人可以阐明它。