在名为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
非常感谢!
答案 0 :(得分:27)
从控制台执行此命令(在本例中):
mongorestore my_backup --db ubuntu_development
mongodbrestore
后跟my_backup
,这是保存数据库上一次转储的文件夹名称。 --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可以验证是否已创建数据库(如果不存在,将使用集合创建具有相同名称的数据库)。