2013-01-03 32 views
11

Trong thư mục này được gọi là my_backup Tôi có một cơ sở dữ liệu MongoDB đổ với tất cả các mô hình /bộ sưu tập của tôi ví dụ:khôi phục cơ sở dữ liệu .bson MongoDB và tệp .json

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

Tôi có một cơ sở dữ liệu được gọi là ubuntu_development trên mongodb. Tôi đang làm việc với rails 3 + mongoid

Làm thế nào tôi có thể nhập/khôi phục tất cả các mẫu/bộ sưu tập từ thư mục my_backup đến cơ sở dữ liệu của tôi ubuntu_development

Cảm ơn bạn rất nhiều!

+1

Cảm ơn bạn! Đây là một cơn ác mộng đối với tôi ... – simPod

+1

Cảm ơn bạn đã đặt câu hỏi này. – Devang

Trả lời

26

Execute lệnh này từ giao diện điều khiển (trong trường hợp này):

mongorestore my_backup --db ubuntu_development 
  1. mongodbrestore Tiếp theo là my_backup, đó là tên thư mục nơi bãi trước của cơ sở dữ liệu được lưu.
  2. --db ubuntu_development chỉ định tên cơ sở dữ liệu mà chúng tôi muốn khôi phục dữ liệu.
+1

Ngoài ra, nếu bạn chưa tạo cơ sở dữ liệu đích, chỉ cần đặt các tệp khôi phục trong một thư mục có tên cơ sở dữ liệu bạn muốn và làm 'mongorestore '. Điều này sẽ tạo cơ sở dữ liệu 'foldername' và đặt tất cả các ngày trong đó :) – DanielSmedegaardBuus

+0

cảm ơn câu trả lời chính xác. – Devang

-1

Bạn phải chạy lệnh mongorestore này qua cmd và không phải trên Mongo Shell ... Hãy nhìn vào bên dưới lệnh trên ...

Chạy lệnh này vào cmd (không phải trên Mongo vỏ)

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

Ở đây path\to\mongorestore.exe là đường dẫn của mongorestore.exe bên trong thư mục bin của mongodb. dbname là tên của databse. collection_name là tên của collection.bson. path\to\same\collection.bson là đường dẫn đến bộ sưu tập đó.

Giờ từ vỏ mongo bạn có thể xác minh rằng cơ sở dữ liệu được tạo hay không (Nếu nó không tồn tại, cơ sở dữ liệu có cùng tên sẽ được tạo bằng bộ sưu tập).

2

Để nhập .bson file

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

Trong trường hợp chỉ cho một collection.Try đơn này:

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

Để nhập .json file

mongoimport --db db_name --collection collection_name --file name.json 
Các vấn đề liên quan