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

How to download production data from MongoHQ in Heroku to local machine?

我在 Heroku 的 Cidar 堆栈上有一个带有生产数据的 Web 应用程序 运行ning。生产数据存储在 MongoDB 中,我在生产中使用 MongoHQ 对其进行管理。我想将生产数据下载到我的本地计算机,这样我就可以 运行 我的网络应用程序在本地使用生产数据进行调试。我对 MongoDB 还是比较陌生,所以尝试了很多次后,我都没有成功。

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

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

我想通了,多亏了这个博客post:http://stevespiga.rel.li/mongodump-mongorestore.html

解决方案总结如下:

  1. 我运行命令:heroku config | grep "MONGOHQ"。这给了我以下形式的输出:

MONGOHQ_URL:mongodb://heroku:veryLongPasswordString@somewhere.mongohq.com:88888/app123456.

  1. 这可以解释为:

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

  1. 然后我通过 运行:
  2. 将生产数据库转储到本地目录

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

注意,这假定您在恢复之前没有与转储数据库同名的本地数据库。如果需要,您可以按照 Whosebug post.

中概述的步骤重命名数据库

希望对您有所帮助!