恢复mongodb数据库.bson和.json文件

时间:2013-01-03 17:54:44

标签: ruby-on-rails mongodb mongoid database

在名为my_backup的文件夹中,我有一个 mongodb数据库转储,所有模型/集合,例如:

admins.bson
admins.metadata.json
categories.bson
categories.metadata.json
pages.bson
pages.metadata.json
.
.
.

我在mongodb上有一个名为ubuntu_development的数据库。我正在使用rails 3 + mongoid

如何从文件夹my_backup导入/恢复所有模型/集合到我的数据库ubuntu_development

非常感谢!

3 个答案:

答案 0 :(得分:27)

从控制台执行此命令(在本例中):

mongorestore my_backup --db ubuntu_development
  1. mongodbrestore后跟my_backup,这是保存数据库上一次转储的文件夹名称。
  2. --db ubuntu_development指定我们要恢复数据的数据库名称。

答案 1 :(得分:2)

导入.bson文件

mongorestore -d db_name -c collection_name path/file.bson

仅限单个集合。请尝试:

mongorestore --drop -d db_name -c collection_name path/file.bson

导入.json文件

mongoimport --db db_name --collection collection_name --file name.json

答案 2 :(得分:-1)

你必须通过cmd而不是Mongo Shell运行这个mongorestore命令...看看下面的命令......

在cmd上运行此命令(不在Mongo shell上)

>path\to\mongorestore.exe -d dbname -c collection_name path\to\same\collection.bson

此处path\to\mongorestore.exe是mongodb bin文件夹中mongorestore.exe的路径。 dbname是数据库的名称。 collection_name是collection.bson的名称。 path\to\same\collection.bson是该集合的路径。

现在从mongo shell可以验证是否已创建数据库(如果不存在,将使用集合创建具有相同名称的数据库)。