mongodb - 如何将本地默认 Meteor Mongo 数据库的数据推送到 Heroku mLabs 以供部署在 Heroku 上的应用程序使用?

标签 mongodb meteor heroku

我使用随 Meteor 安装的默认 Mongo 数据库在本地开发 Meteor 环境中设置应用程序数据。我的应用程序已准备好在 Heroku 上部署,但我打算将我的数据与其一起使用(类似于 Rails“迁移”)。

在 Heroku 中,我添加了 mLabs 插件并设置了“MONGO_URL”变量。如何将本地应用程序数据库推送到 mLabs 实例以在 Heroku 上进行部署?

最佳答案

这对我有用。

<强>1。转储我的本地 mongo 数据库

在应用程序文件夹中的终端(不是 mongo shell)中,

mongodump --port=3001 -o ../dump

<强>2。将数据库文件从“dump/my-db-name”文件夹移至“dump”

在我的本地 meteor 实例中,“dump”文件夹放置在我的应用程序上方的文件夹中,因此“dump”与我的应用程序文件夹位于同一目录中。 “dump”包含一个以我的数据库命名的文件夹(“dump/my-database-name/”)。这导致下一个脚本失败,并出现 mongorestore 错误“不知道如何处理‘我的数据库名称’”。为了防止出现错误,我将“my-database-name”文件夹中的所有文件移至“dump”中,然后删除了“my-database-name”文件夹。

默认情况下, meteor 应用程序使用数据库名称“meteor”创建,因此对于浏览此问题但未更改数据库名称的人来说,它将是“dump/meteor/”。

<强>4。将转储的数据库推送到 Heroku 应用程序的 mLabs 实例。 我已经在我的 Heroku 应用程序中添加了 mLabs 插件,并在我的 Heroku 应用程序配置中设置了“MONGO_URL”。如果这些还没有完成,则必须先完成它们。

在终端(不是 mongo shell)中,从应用程序的目录更改为保存“转储”目录的目录。

转到 mLabs 插件,然后单击“工具”选项卡,获取 Heroku 应用程序的 mLabs 实例的默认“导入”脚本。此处提供的脚本对我不起作用,但可能对其他人有用,并且它确实提供了我在下面修改的脚本中使用的变量。

<强>3。如果 mLabs 工具中提供的“导入”脚本不起作用...

在 mLabs“用户”选项卡中,创建具有管理员权限的用户。

然后,使用此脚本,用您的变量替换括号内的变量(也替换括号)。

mongorestore -h [your mLabs value]  -d [your mLabs default user name] -u [your mLabs created user name] -p [your mLabs created user's password]

脚本运行后,您应该能够刷新 mLabs“集合”选项卡并查看推送的数据。

祝你好运:)我希望这对某人有帮助!

关于mongodb - 如何将本地默认 Meteor Mongo 数据库的数据推送到 Heroku mLabs 以供部署在 Heroku 上的应用程序使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37905111/

相关文章:

mongodb - 如何使用 Robo 3T 从 MongoDB 导出 JSON

c# - MongoDB C# 驱动程序 MongoCredential 对象

MongoDB 查询性能 : Return all vs select fields

使用 Meteor-CollectionFS 上传 Meteor 文件时找不到错误方法

android - 在 meteor 的 Android 模拟器上启动应用程序永远不会完成

mysql - Nodejs mysql 时区问题

MongoDb 聚合按日期分组

ios - iOS 中的 UIWebView 本地视频/音频播放无法使用 Meteor (PhoneGap)

heroku:正在运行连接到终端的控制台...

python - Heroku Python 二进制库依赖