Heroku:将本地MongoDB存储到MongoLab

时间:2012-10-23 07:07:42

标签: mongodb deployment heroku mlab

这可能是一个死的简单问题,但我仍然想问。我已经创建了一个Node.js应用程序并将其部署在 Heroku 上。我也设置了数据库连接,没有遇到任何麻烦。

但是,我无法将MongoDB中的本地数据加载到 MongoLab 我在heroku上使用。我搜索了谷歌,找不到有用的解决方案,所以我最终尝试了这些命令;

mongodump

mongorestore -h mydburl:mydbport -d mydbname -u myusername -p mypassword --db Collect.1

现在当我运行命令mongorestore时,我收到了错误;

ERROR: multiple occurrences

Import BSON files into MongoDB.

当我看一下我在本地开发过程中指定和使用的MongoDB的DB文件时,我看到有文件 Collect.0 Collect.1 Collect.ns 。现在我知道我的db名称是'Collect',因为当我使用shell时我总是输入`use Collect`。所以我在命令行中将db指定为Collect.1但我仍然收到相同的错误。我应该删除所有其他收集文件还是有另一种方式?

2 个答案:

答案 0 :(得分:2)

您不能对原始数据库文件使用“mongorestore”。 'mongorestore'用于处理'mongodump'生成的转储文件。首先我们'mongodump'转储您的本地数据库,然后使用'mongorestore'来恢复该转储文件。

如果您转到数据库的MongoLab UI中的“工具”选项卡,然后单击“导入/导出”,您可以看到每个命令的示例,其中包含数据库的正确参数。

如果您仍有问题,请发送电子邮件至support@mongolab.com。

- 将会

答案 1 :(得分:2)

这可以通过两个步骤完成。

1.转储数据库

mongodump -d mylocal_db_name -o dump/

2.恢复数据库

mongorestore -h xyz.mongolab.com:12345 -d remote_db_name -u username -p password dump/mylocal_db_name/