Có cách nào để kết xuất bộ sưu tập mongo sang định dạng json không? Trên shell hoặc sử dụng trình điều khiển java. Tôi đang tìm kiếm một trình điều khiển có hiệu suất tốt nhất.
Có cách nào để kết xuất bộ sưu tập mongo sang định dạng json không? Trên shell hoặc sử dụng trình điều khiển java. Tôi đang tìm kiếm một trình điều khiển có hiệu suất tốt nhất.
Câu trả lời:
Mongo bao gồm một tiện ích mongoexport (xem tài liệu) có thể kết xuất một bộ sưu tập. Tiện ích này sử dụng libmongoclient và có thể là phương pháp nhanh nhất.
mongoexport -d <database> -c <collection_name>
Cũng hữu ích:
-o
: ghi đầu ra vào tệp, nếu không thì đầu ra chuẩn được sử dụng ( docs )
--jsonArray
: tạo một tài liệu json hợp lệ, thay vì một đối tượng json trên mỗi dòng ( docs )
--pretty
: đầu ra có định dạng json ( docs )
--pretty
cờ:mongoexport -d mydatabase -c mycollection --pretty
mongoexport --host mongodb1.example.net --port 37017 --username user --password "pass" --collection contacts --db marketing --out mdb1-examplenet.json
--pretty
nó đã biến mất kể từ phiên bản 2.6.10.
Sử dụng mongoexport / mongoimport để kết xuất / khôi phục một bộ sưu tập:
Xuất tệp JSON :
mongoexport --db <database-name> --collection <collection-name> --out output.json
Nhập tệp JSON :
mongoimport --db <database-name> --collection <collection-name> --file input.json
CẢNH BÁO
mongoimport
vàmongoexport
không bảo toàn đáng tin cậy tất cả các kiểu dữ liệu BSON phong phú bởi vì JSON chỉ có thể đại diện cho một tập hợp con của các kiểu được BSON hỗ trợ. Do đó, dữ liệu được xuất hoặc nhập bằng các công cụ này có thể mất một số thước đo về độ trung thực.
Ngoài ra, http://bsonspec.org/
BSON được thiết kế để mã hóa và giải mã nhanh. Ví dụ: số nguyên được lưu trữ dưới dạng số nguyên 32 (hoặc 64) bit, vì vậy chúng không cần phải được phân tích cú pháp đến và đi từ văn bản. Điều này sử dụng nhiều không gian hơn JSON cho các số nguyên nhỏ, nhưng nhanh hơn nhiều để phân tích cú pháp.
Ngoài tính nhỏ gọn, BSON còn bổ sung các kiểu dữ liệu bổ sung không có trong JSON, đặc biệt là kiểu dữ liệu BinData và Date.
mongoexport
/ mongoimport
chuyến khứ hồi không?
Đây là lệnh của tôi để tham khảo:
mongoexport --db AppDB --collection files --pretty --out output.json
Trên Windows 7 (MongoDB 3.4), người ta phải di chuyển cmd đến nơi chứa mongod.exe
và mongo.exe
tập tin =>
C:\MongoDB\Server\3.4\bin
nếu không nó sẽ không hoạt động nói rằng nó không recongnize mongoexport
lệnh.
Từ tài liệu Mongo:
Tiện ích mongoexport nhận một tập hợp và xuất sang JSON hoặc CSV. Bạn có thể chỉ định bộ lọc cho truy vấn hoặc danh sách các trường để xuất
Đọc thêm tại đây: http://www.mongodb.org/display/DOCS/mongoexport
Nếu bạn muốn kết xuất tất cả các bộ sưu tập, hãy chạy lệnh này:
mongodump -d {DB_NAME} -o /tmp
Nó sẽ tạo ra tất cả dữ liệu bộ sưu tập trong json
và bson
phần mở rộng vào /tmp/{DB_NAME}
thư mục
mongodump
xuất dữ liệu ở BSON
định dạng. Các câu trả lời khác được gọi đúng mongoexport
là công cụ phù hợp.
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase admin
Bạn có thể xác địnhhost
,port
,username
,password
như thế này và cơ sở dữ liệu xác thực mặc định làadmin
.