2011-11-09 28 views
16

đổ một MongoDB thành công:Làm thế nào để nhập khẩu Mongodb bị đổ?

$ mongodump -h ourhost.com:portnumber -d db_name01 -u username -p 

Tôi cần phải nhập khẩu hoặc xuất khẩu nó vào một Tuyên chiến và có cuộc đấu tranh với nó, hãy giúp tôi tìm ra.

Tôi đã thử một số cách sau:

$ mongoimport -h host.com:port -c dbname -d dbname_test -u username -p 
connected to host. 
Password: ... 

Cung cấp cho lỗi này:

assertion: 9997 auth failed: { errmsg: "auth fails", ok: 0.0 } 

$ mongoimport -h host.com:port -d dbname_test -u username -p 

Cung cấp cho lỗi này:

no collection specified! 

Làm thế nào để xác định các bộ sưu tập để sử dụng không? Tôi nên sử dụng gì cho -d? Những gì tôi muốn tải lên hoặc những gì tôi muốn sử dụng như là kiểm tra ra khỏi đó? Tôi muốn nhập toàn bộ DB không chỉ bộ sưu tập của nó.

Trả lời

18

Các đối tác để mongodumpmongorestore (và các đối tác để mongoimportmongoexport) - sự khác biệt chính là ở định dạng của các tập tin được tạo ra và hiểu được công cụ (dumprestore đọc và ghi các file BSON; exportimport thỏa thuận với các định dạng tập tin văn bản: JSON, CSV, TSV

Nếu bạn đã chạy mongodump, bạn SHO. uld có một thư mục có tên là dump, với một thư mục con cho mỗi cơ sở dữ liệu đã được bán phá giá và một tệp trong các thư mục đó cho mỗi bộ sưu tập. Sau đó bạn có thể khôi phục này với một lệnh như:

mongorestore -h host.com:port -d dbname_test -u username -p password dump/dbname/ 

Giả sử bạn muốn đưa các nội dung của cơ sở dữ liệu dbname vào một cơ sở dữ liệu mới gọi là dbname_test.

+0

cảm ơn, nó giải quyết vấn đề của tôi! – YogiZoli

3

Khi bạn thực hiện mongodump, nó sẽ đổ ở định dạng nhị phân. Bạn cần sử dụng mongorestore để "nhập" dữ liệu này.

Mongoimport là để nhập dữ liệu đã được xuất khẩu sử dụng mongoexport

2

Bạn có thể phải chỉ định cơ sở dữ liệu xác thực

mongoimport -h localhost:27017 --authenticationDatabase admin -u user -p -d database -c collection --type csv --headerline --file awesomedata.csv 
Các vấn đề liên quan