如何从 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
解决方案总结如下:
- 我运行命令:
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
。
注意,这假定您在恢复之前没有与转储数据库同名的本地数据库。如果需要,您可以按照 Whosebug post.
中概述的步骤重命名数据库
希望对您有所帮助!
我在 Heroku 的 Cidar 堆栈上有一个带有生产数据的 Web 应用程序 运行ning。生产数据存储在 MongoDB 中,我在生产中使用 MongoHQ 对其进行管理。我想将生产数据下载到我的本地计算机,这样我就可以 运行 我的网络应用程序在本地使用生产数据进行调试。我对 MongoDB 还是比较陌生,所以尝试了很多次后,我都没有成功。
有没有办法将 MongoDB 数据(集合)从 Heroku 下载到本地 MongoDB 我在本地计算机上?
如果您打开 MongoHQ 仪表板 ($ heroku addons:open mongohq
),可以选择创建备份并从那里下载它。
我想通了,多亏了这个博客post: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
。
注意,这假定您在恢复之前没有与转储数据库同名的本地数据库。如果需要,您可以按照 Whosebug post.
中概述的步骤重命名数据库希望对您有所帮助!