2015-02-05 51 views
2

我有一個Web應用程序,在Heroku的Cidar棧上運行生產數據。生產數據存儲在MongoDB中,我使用MongoHQ在生產中進行管理。我想將生產數據下載到本地計算機上,以便我可以在本地運行我的Web應用程序以用於調試目的的生產數據。我對MongoDB還比較陌生,經過多次嘗試,我沒有成功。如何將Heroku中的MongoHQ的生產數據下載到本地機器?

有沒有辦法從Heroku下載MongoDB數據(集合)到本地機器上的本地MongoDB?

回答

2

我想通了,多虧了這篇博客文章:http://stevespiga.rel.li/mongodump-mongorestore.html

這裏的解決方案的摘要:

  1. 我跑的命令: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中列出的步驟重命名數據庫。

    我希望這有助於!

    +0

    非常感謝。我一直在想它一天。 – Saurabh 2016-07-18 09:43:37

    0

    如果您打開MongoHQ儀表板($ heroku addons:open mongohq),可以選擇創建備份並從那裏下載備份。

    +0

    我按照您的建議去了儀表板,經過大量搜索後,仍無法找到創建備份的選項。我正在使用MongoHQ的免費版本 - 是否禁用該版本的備份? @rdegges – 2015-02-09 15:47:02

    相關問題