我有一个Web应用程序,在Heroku的Cidar栈上运行生产数据。生产数据存储在MongoDB中,我使用MongoHQ在生产中进行管理。我想将生产数据下载到本地计算机上,以便我可以在本地运行我的Web应用程序以用于调试目的的生产数据。我对MongoDB还比较陌生,经过多次尝试,我没有成功。如何将Heroku中的MongoHQ的生产数据下载到本地机器?
有没有办法从Heroku下载MongoDB数据(集合)到本地机器上的本地MongoDB?
我有一个Web应用程序,在Heroku的Cidar栈上运行生产数据。生产数据存储在MongoDB中,我使用MongoHQ在生产中进行管理。我想将生产数据下载到本地计算机上,以便我可以在本地运行我的Web应用程序以用于调试目的的生产数据。我对MongoDB还比较陌生,经过多次尝试,我没有成功。如何将Heroku中的MongoHQ的生产数据下载到本地机器?
有没有办法从Heroku下载MongoDB数据(集合)到本地机器上的本地MongoDB?
我想通了,多亏了这篇博客文章:http://stevespiga.rel.li/mongodump-mongorestore.html
这里的解决方案的摘要:
heroku config | grep "MONGOHQ"
。这给了我输出的形式:MONGOHQ_URL:mongodb://heroku:[email protected]:88888/app123456
。
MONGOHQ_URL:mongodb://username:[email protected]: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中列出的步骤重命名数据库。
我希望这有助于!
如果您打开MongoHQ仪表板($ heroku addons:open mongohq
),可以选择创建备份并从那里下载备份。
我按照您的建议去了仪表板,经过大量搜索后,仍无法找到创建备份的选项。我正在使用MongoHQ的免费版本 - 是否禁用该版本的备份? @rdegges – 2015-02-09 15:47:02
非常感谢。我一直在想它一天。 – Saurabh 2016-07-18 09:43:37