我有一个Web应用程序,其生成数据在Heroku的Cidar堆栈上运行。生产数据存储在MongoDB中,我使用MongoHQ在生产中管理它。我想将生产数据下载到我的本地机器上,这样我就可以在本地运行我的Web应用程序和生产数据以进行调试。我仍然是MongoDB的新手,所以经过多次尝试,我没有成功。
有没有办法从Heroku下载MongoDB数据(集合)到本地机器上的本地MongoDB?
答案 0 :(得分:2)
我想通了,感谢这篇博文:http://stevespiga.rel.li/mongodump-mongorestore.html
这里是解决方案的摘要:
heroku config | grep "MONGOHQ"
。这给了我以下形式的输出: MONGOHQ_URL:mongodb://heroku:veryLongPasswordString@somewhere.mongohq.com:88888/app123456
。
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 post中列出的步骤重命名数据库。
我希望这有帮助!
答案 1 :(得分:0)
如果您打开MongoHQ仪表板($ heroku addons:open mongohq
),可以选择创建备份并从那里下载。