Trong MongoDB, bạn có thể xuất dữ liệu bằng mongoexport tiện ích.
Bạn có thể sử dụng mongoexport tiện ích để xuất dữ liệu từ cơ sở dữ liệu MongoDB của bạn sang tệp JSON hoặc CSV.
Tiện ích nằm trong MongoDB bin thư mục (ví dụ: / mongodb / bin ). Khi bạn chạy tiện ích, hãy cung cấp tên của cơ sở dữ liệu, bộ sưu tập và tệp bạn muốn nó được xuất sang.
Để xuất dữ liệu, trước tiên hãy mở cửa sổ Terminal / Command Prompt mới, sau đó nhập lệnh thích hợp.
Xuất Bộ sưu tập sang Tệp JSON
Ở đây, chúng tôi sử dụng mongoexport để xuất nghệ sĩ tập hợp vào một tệp JSON:
mongoexport --db music --collection artists --out /data/dump/music/artists.json
Thông báo kết quả:
2016-07-12T09:57:37.613+0700 connected to: localhost 2016-07-12T09:57:37.614+0700 exported 13 records
Tệp kết quả:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014d"},"artistname":"The Kooks"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014e"},"artistname":"Bastille"} {"_id":{"$oid":"5781d7f248ef8c6b3ffb014f"},"artistname":"Gang of Four"} {"_id":{"$oid":"5781f85d48ef8c6b3ffb0150"},"artistname":"Deep Purple","albums":[{"album":"Machine Head","year":1972.0,"genre":"Rock"},{"album":"Stormbringer","year":1974.0,"genre":"Rock"}]} {"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015a"},"artistname":"Robben Ford","albums":[{"album":"Bringing it Back Home","year":2013.0,"genre":"Blues"},{"album":"Talk to Your Daughter","year":1988.0,"genre":"Blues"}]} {"_id":{"$oid":"578217c248ef8c6b3ffb015b"},"artistname":"Snoop Dogg","albums":[{"album":"Tha Doggfather","year":1996.0,"genre":"Rap"},{"album":"Reincarnated","year":2013.0,"genre":"Reggae"}]} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"}
Nếu bạn thấy rằng bạn không thể chạy mongoexport , hãy chắc chắn rằng bạn đã thoát khỏi mongo hoặc mở một cửa sổ Terminal / Command Prompt mới trước khi chạy mongoexport , vì nó là một tiện ích riêng biệt.
Lệnh trên giả định rằng thư mục bin MongoDB nằm trong PATH của bạn. Nếu không, bạn sẽ cần sử dụng đường dẫn đầy đủ đến
mongoexport
tập tin. Ví dụ:/mongodb/bin/mongoexport
hoặc bất cứ nơi nào triển khai MongoDB của bạn được cài đặt.
Nếu bạn không cung cấp đường dẫn tệp cho tệp đã xuất, nó sẽ được tạo ở bất kỳ vị trí nào của bạn khi bạn chạy lệnh. Cung cấp đường dẫn đầy đủ hoặc điều hướng đến nơi bạn muốn tệp dữ liệu được ghi trước khi chạy lệnh.
Xuất Bộ sưu tập sang Tệp CSV
Để xuất sang tệp CSV, hãy thêm --type=csv
vào lệnh.
Bạn cũng phải chỉ định các trường trong tài liệu MongoDB để xuất.
Ở đây, chúng tôi sử dụng mongoexport để xuất nghệ sĩ bộ sưu tập vào một tệp CSV. Chúng tôi xuất _id và tên nghệ sĩ lĩnh vực. Chúng tôi cũng đã đặt tên tệp là .csv phần mở rộng.
mongoexport --db music --collection artists --type=csv --fields _id,artistname --out /data/dump/music/artists.csv
Thông báo kết quả:
2016-07-12T10:16:33.111+0700 connected to: localhost 2016-07-12T10:16:33.114+0700 exported 13 records
Tệp CSV kết quả:
_id,artistname ObjectId(5780fbf948ef8c6b3ffb0149),The Tea Party ObjectId(5781c9ac48ef8c6b3ffb014a),Jorn Lande 1,AC/DC ObjectId(5781d7f248ef8c6b3ffb014d),The Kooks ObjectId(5781d7f248ef8c6b3ffb014e),Bastille ObjectId(5781d7f248ef8c6b3ffb014f),Gang of Four ObjectId(5781f85d48ef8c6b3ffb0150),Deep Purple ObjectId(578214f048ef8c6b3ffb0159),Miles Davis ObjectId(578217c248ef8c6b3ffb015a),Robben Ford ObjectId(578217c248ef8c6b3ffb015b),Snoop Dogg 2,Prince 3,Moby 4,Rush
Xuất kết quả của một Truy vấn
Bạn có thể sử dụng --query
tùy chọn để chỉ định một truy vấn để xuất. Truy vấn phải được đặt trong dấu ngoặc kép.
Tại đây, chúng tôi xuất thông tin chi tiết về Miles Davis sang tệp JSON:
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --out /data/dump/music/miles_davis.json
Thông báo kết quả:
2016-07-12T10:32:19.794+0700 connected to: localhost 2016-07-12T10:32:19.795+0700 exported 1 record
Tệp JSON kết quả:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}
Các tùy chọn khác
mongoexport tiện ích cung cấp một số tùy chọn. Dưới đây là một số tính năng hữu ích tiềm năng.
--limit
Tùy chọn
Giới hạn số lượng tài liệu trong quá trình xuất.
mongoexport --db music --collection artists --limit 3 --out /data/dump/music/3_artists.json
Tệp kết quả:
{"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"} {"_id":{"$oid":"5781c9ac48ef8c6b3ffb014a"},"artistname":"Jorn Lande"} {"_id":1.0,"artistname":"AC/DC"}
--sort
Tùy chọn
Chỉ định cách sắp xếp các kết quả.
Ở đây, chúng tôi sắp xếp tệp theo
_id
trường theo thứ tự tăng dần (tức là 1
). Để làm cho nó giảm dần, hãy sử dụng -1
.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --out /data/dump/music/3_artists_sorted.json
Tệp kết quả:
{"_id":1.0,"artistname":"AC/DC"} {"_id":2.0,"artistname":"Prince","address":{"street":"Audubon Road","city":"Chanhassen","state":"Minnesota","country":"United States"}} {"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]}
--skip
Tùy chọn
Cho phép bạn hướng dẫn mongoexport để bỏ qua một số tài liệu trước khi bắt đầu thao tác xuất.
mongoexport --db music --collection artists --limit 3 --sort '{_id: 1}' --skip 2 --out /data/dump/music/3_artists_sorted_skipped.json
Tệp kết quả:
{"_id":3.0,"artistname":"Moby","albums":[{"album":"Play","year":1999.0,"genre":"Electronica"},{"album":"Long Ambients 1: Calm. Sleep.","year":2016.0,"genre":"Ambient"}]} {"_id":4.0,"artistname":"Rush"} {"_id":{"$oid":"5780fbf948ef8c6b3ffb0149"},"artistname":"The Tea Party"}
--pretty
Tùy chọn
Xuất tài liệu ở định dạng JSON dễ đọc hơn.
mongoexport --db music --collection artists --query '{"artistname": "Miles Davis"}' --pretty --out /data/dump/music/miles_davis_pretty.json
Tệp kết quả:
{"_id":{"$oid":"578214f048ef8c6b3ffb0159"},"artistname":"Miles Davis","albums":[{"album":"Kind of Blue","year":1959.0,"genre":"Jazz"},{"album":"Bitches Brew","year":1970.0,"genre":"Jazz"}]}