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 )
--prettycờ: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
                    --prettynó đã 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
mongoimportvàmongoexportkhô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/ mongoimportchuyế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.exevà mongo.exetập tin =>
 C:\MongoDB\Server\3.4\binnếu không nó sẽ không hoạt động nói rằng nó không recongnize mongoexportlệ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 jsonvà bsonphần mở rộng vào /tmp/{DB_NAME}thư mục
mongodumpxuất dữ liệu ở BSONđịnh dạng. Các câu trả lời khác được gọi đúng mongoexportlà công cụ phù hợp.
                    
mongoexport -d <database> -c <collection_name> --out <xxx.json> --pretty --host <host> --port <port> --username <user> --authenticationDatabase adminBạn có thể xác địnhhost,port,username,passwordnhư thế này và cơ sở dữ liệu xác thực mặc định làadmin.