2

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

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

mongodump

和:

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

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

ERROR: multiple occurrences

Import BSON files into MongoDB.

当我查看我在本地开发期间指定和使用的 MongoDB 数据库文件时,我看到有文件Collect.0Collect.1Collect.ns。现在我知道我的数据库名称是“Collect”,因为当我使用 shell 时,我总是输入“use Collect”。所以我在命令行中将 db 指定为 Collect.1,但我仍然收到相同的错误。我应该删除所有其他收集文件还是有其他方法?

4

2 回答 2

3

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

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

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

-将要

于 2012-10-23T08:30:26.107 回答
3

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

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/
于 2014-03-06T13:08:53.800 回答