我有一个web应用程序,生产数据在Heroku的Cidar堆栈上运行。生产数据存储在MongoDB中,我在生产中使用MongoHQ来管理它。我想将生产数据下载到我的本地机器上,这样我就可以使用生产数据在本地运行我的web应用程序,以进行调试。我对MongoDB还比较陌生,所以经过多次尝试,我都没有成功。
有没有办法将MongoDB数据(集合)从Heroku下载到我本地机器上的本地MongoDB?
多亏了这篇博客文章,我明白了:http://stevespiga.rel.li/mongodump-mongorestore.html
这里总结一下解决方案:
- 我运行了命令:
heroku config | grep "MONGOHQ"
。这给了我表格的输出:
CCD_ 2。
- 这可以解释为:
MONGOHQ_URL:mongodb://username:password@host:port/path
- 然后,我通过运行以下命令将生产数据库转储到本地目录:
mongodump --db <path> --host <host> --port <port> --username <username> --password <password> --out <folder for dump>
。
- 示例:
mongodump --db app123456 --host somewhere.mongohq.com --port 88888 --username heroku --password veryLongPasswordString --out ./testDump
。
- 下一步是获取转储的数据并将其恢复到本地数据库:
mongorestore ./testdump
。
注意,这是假设在恢复之前没有与转储数据库同名的本地数据库。如果需要,您可以按照stackoverflow文章中概述的步骤重命名数据库。
我希望这能有所帮助!
如果打开MongoHQ面板($ heroku addons:open mongohq
),可以选择创建备份并从那里下载。