如何将生产数据从Heroku的MongoHQ下载到本地机器



我有一个web应用程序,生产数据在Heroku的Cidar堆栈上运行。生产数据存储在MongoDB中,我在生产中使用MongoHQ来管理它。我想将生产数据下载到我的本地机器上,这样我就可以使用生产数据在本地运行我的web应用程序,以进行调试。我对MongoDB还比较陌生,所以经过多次尝试,我都没有成功。

有没有办法将MongoDB数据(集合)从Heroku下载到我本地机器上的本地MongoDB?

多亏了这篇博客文章,我明白了:http://stevespiga.rel.li/mongodump-mongorestore.html

这里总结一下解决方案:

  1. 我运行了命令:heroku config | grep "MONGOHQ"。这给了我表格的输出:

CCD_ 2。

  1. 这可以解释为:

MONGOHQ_URL:mongodb://username:password@host:port/path

  1. 然后,我通过运行以下命令将生产数据库转储到本地目录:

mongodump --db <path> --host <host> --port <port> --username <username> --password <password> --out <folder for dump>

  1. 示例:

mongodump --db app123456 --host somewhere.mongohq.com --port 88888 --username heroku --password veryLongPasswordString --out ./testDump

  1. 下一步是获取转储的数据并将其恢复到本地数据库:

mongorestore ./testdump

注意,这是假设在恢复之前没有与转储数据库同名的本地数据库。如果需要,您可以按照stackoverflow文章中概述的步骤重命名数据库。

我希望这能有所帮助!

如果打开MongoHQ面板($ heroku addons:open mongohq),可以选择创建备份并从那里下载。

最新更新