MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB - Xuất dữ liệu

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 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"}]}

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xác định một cách nhanh chóng lược đồ Mongoose từ 'mô tả' có định dạng JSON

  2. $ addFields khi không tìm thấy $ phù hợp

  3. Các cụm MongoDB hiệu suất cao trên Azure

  4. Cơ sở dữ liệu MongoDB của sao băng ở đâu?

  5. Sử dụng MongoDB $ pull để xóa tài liệu trong Mảng