Bạn có thể xuất dữ liệu từ bộ sưu tập MongoDB của mình sang tệp CSV để phân tích thêm trong các công cụ như cơ sở dữ liệu Excel và SQL. Để truy cập công cụ xuất dữ liệu, từ Trình quản lý tác vụ, nhấp vào Thao tác DB → Trình quản lý hoạt động → Truy vấn dữ liệu vào tệp CSV. Hoàn thành biểu mẫu và thực hiện thao tác, bạn cũng có thể xem trước dữ liệu sẽ được xuất trước khi thực hiện bằng cách sử dụng nút xem trước
Nền tảng xuất ra một tệp được nén bằng gzip. Bạn có thể dễ dàng giải nén tệp này bằng hầu hết các công cụ nén và giải nén như winrar, winzip, 7zip, v.v.
MongoDB cho phép bạn xuất dữ liệu của nó sang các định dạng tệp khác như JSON hoặc CSV để dữ liệu có thể được sử dụng bên ngoài bởi các ứng dụng khác. Vì vậy, để xuất dữ liệu từ cơ sở dữ liệu MongoDB, MongoDB cung cấp một công cụ dòng lệnh được gọi là mongoexport. Sử dụng công cụ này, bạn có thể xuất dữ liệu của bộ sưu tập ở định dạng JSON hoặc CSV (giá trị được phân tách bằng dấu phẩy). Hơn nữa, chúng tôi cũng có thể sử dụng các tính năng như giới hạn và sắp xếp trên bộ sưu tập trong khi xuất dữ liệu
Ghi chú. mongoexport không chạy trong vỏ mongo. Vì vậy, khi bạn sử dụng công cụ mongoexport, bạn phải thoát khỏi mongo shell
Điểm quan trọng.
Trong ví dụ này, chúng tôi sẽ xuất tất cả các tài liệu có trong bộ sưu tập sinh viên sang tệp JSON (có tên là exporttudents. json) bằng công cụ mongoexport
mongoexport –db GeeksForGeeks –collection students –type=csv –fields name,age –out C. \Users\Darksider\students. csv
Công cụ cơ sở dữ liệu MongoDB bao gồm một tiện ích có tên là
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 cho phép bạn xuất dữ liệu MongoDB sang tệp CSV hoặc JSONMột trong những điều bạn có thể làm với tiện ích này là xuất kết quả truy vấn. Bài viết này hướng dẫn bạn cách sử dụng
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 để xuất kết quả truy vấn MongoDB sang tệp CSVcú pháp
Cú pháp của
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 như saumongoexport --collection=<coll> <options> <connection-string>
Bạn cần chạy
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 lệnh từ dòng lệnh của hệ thống (e. g. cửa sổ Terminal hoặc Command Prompt mới)Không chạy các lệnh
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 từ trình bao use PetHotel
db.pets.find({ "type": "Dog" })
1Thí dụ
Mã ví dụ sau xuất kết quả của truy vấn sang tệp CSV
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
Điều này xuất một truy vấn truy vấn một bộ sưu tập có tên là
use PetHotel
db.pets.find({ "type": "Dog" })
2 trong cơ sở dữ liệu use PetHotel
db.pets.find({ "type": "Dog" })
3. Truy vấn được xuất sang tệp có tên use PetHotel
db.pets.find({ "type": "Dog" })
4 trong thư mục use PetHotel
db.pets.find({ "type": "Dog" })
5Nếu thư mục không tồn tại, nó đã được tạo. Tương tự với tệp. Nhân tiện, điều này giả định rằng không có vấn đề về quyền khi ghi tệp vào vị trí đã chỉ định
Trong ví dụ này, tôi không chỉ định bất kỳ máy chủ, cổng, xác thực nào, v.v., vì vậy, nó xuất bộ sưu tập từ phiên bản MongoDB chạy trên số cổng localhost mặc định _______6_______6
Dưới đây là giải thích về các thông số chúng tôi cung cấp ở đây
Tham sốMô tảuse PetHotel
db.pets.find({ "type": "Dog" })
7
hoặc là
use PetHotel
db.pets.find({ "type": "Dog" })
8Chỉ định cơ sở dữ liệu để chạy trên đó mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6. Trong trường hợp này, cơ sở dữ liệu được gọi là use PetHotel
db.pets.find({ "type": "Dog" })
3
Ngoài ra, tham số này có thể được chuyển bằng cách sử dụng use PetHotel
db.pets.find({ "type": "Dog" })
8 (thay vì use PetHotel
db.pets.find({ "type": "Dog" })
7). { "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
3
hoặc là
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
4Chỉ định bộ sưu tập mà chúng tôi muốn xuất (hoặc chạy truy vấn đối với). Trong trường hợp này, bộ sưu tập được gọi là use PetHotel
db.pets.find({ "type": "Dog" })
2
Ngoài ra, tham số này có thể được chuyển thành { "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
4 (thay vì { "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
3). { "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
8Chỉ định loại tệp đã xuất. Trong trường hợp này, chúng tôi chỉ định { "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
9 để xuất nó thành tệp CSV. _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
0Chỉ định các trường mà chúng tôi muốn xuất. Chúng tôi có tùy chọn xuất tất cả các trường hoặc chỉ một số. Bạn cần liệt kê từng cái ở đây, cách nhau bằng dấu phẩy. Khi xuất sang CSV, việc chỉ định tên trường là bắt buộc. Bạn có thể làm như vậy thông qua tham số _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
0 hoặc tham số _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
2 (sẽ nói thêm về điều đó sau). _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
3
hoặc là
_id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
4Chỉ định truy vấn mà chúng tôi muốn xuất kết quả. Điều này phải được đặt trong dấu ngoặc đơn (để nó không tương tác với trình bao của bạn)
Tham số này cũng có thể được chuyển bằng cách sử dụng _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
4. _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
6Chỉ định tên tệp đã xuất và vị trí của tệp đó. Nếu bạn không chỉ định tên tệp, mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 ghi dữ liệu vào đầu ra tiêu chuẩn (_id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
8)Kiểm tra tệp đã xuất
Hãy xác minh rằng thao tác xuất hoạt động như mong đợi
Trước tiên, hãy chạy truy vấn đối với bộ sưu tập gốc
use PetHotel
db.pets.find({ "type": "Dog" })
Kết quả
{ "_id" : 1, "name" : "Wag", "type" : "Dog", "weight" : 20 }
{ "_id" : 2, "name" : "Bark", "type" : "Dog", "weight" : 10 }
{ "_id" : 6, "name" : "Fetch", "type" : "Dog", "weight" : 17 }
{ "_id" : 7, "name" : "Jake", "type" : "Dog", "weight" : 30 }
Vì vậy, chúng tôi có thể thấy rằng có 4 chú chó, tất cả đều có cùng trường mà chúng tôi đã chỉ định trong thao tác xuất của mình
Bây giờ, hãy mở tệp đã xuất
use PetHotel
db.pets.find({ "type": "Dog" })
4 để xem có gì bên trong_id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
OK, vậy là tất cả dữ liệu trong tệp đã xuất như mong đợi
Xuất ít trường hơn
Bạn có thể chỉ định ít trường hơn với tham số
_id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
0 nếu muốnThí dụ
mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
tập tin kết quả
name,weight
Wag,20
Bark,10
Fetch,17
Jake,30
Xóa tiêu đề cột
Bạn sẽ nhận thấy rằng tệp đã xuất trong các ví dụ trước bao gồm các tiêu đề cột
Bạn cũng có tùy chọn xuất tệp không có tiêu đề cột. Để làm điều này, hãy sử dụng tham số
mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
1Thí dụ
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --noHeaderLine --out=data/dogs.csv
Bây giờ khi tôi mở tệp đã xuất, không có tiêu đề cột nào
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
Sử dụng tệp cho tên trường
Bạn có thể thay thế tham số
mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
2 bằng tham số _id,name,type,weight
1,Wag,Dog,20
2,Bark,Dog,10
6,Fetch,Dog,17
7,Jake,Dog,30
2 để chỉ định tên của tệp chứa tên trường mà bạn muốn xuấtmongoexport --db=PetHotel --collection=pets --type=csv --fieldFile=data/dogs_fields.txt --query='{ "type": "Dog" }' --out=data/dogs.csv
Tệp chứa các trường phải có các trường được liệt kê, mỗi trường một dòng
Đây là giao diện của tệp
mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
4 trong ví dụ nàymongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
0Điều này dẫn đến nội dung của tệp được xuất trông như thế này
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
1Thay đổi thứ tự cột
Bạn có thể chuyển đổi thứ tự của các trường để xuất. Chúng không nhất thiết phải theo thứ tự như tài liệu cơ bản
Ví dụ, mã này
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
2Kết quả trong tệp CSV sau
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
3Kiểm soát truy cập/Xác thực
Nếu bạn không sử dụng localhost, bạn có thể sử dụng tham số
mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
5 để chỉ định máy chủ lưu trữ và mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 để chỉ định cổng. Bạn cũng có thể sử dụng tham số mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
7 để chỉ định tên người dùng và mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
8 để đặt mật khẩu. Nếu bạn bỏ qua tham số mật khẩu, bạn sẽ được nhắc về nó. Ngoài ra còn có một tham số mongoexport --db=PetHotel --collection=pets --type=csv --fields=name,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
9 để chỉ định cơ sở dữ liệu xác thực nơi người dùng đã được tạoThí dụ
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
4Kiểm tra cho mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv6
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 là một phần của gói Công cụ cơ sở dữ liệu MongoDB. MongoDB Database Tools là một bộ tiện ích dòng lệnh để làm việc với MongoDBNếu bạn không chắc mình đã cài đặt MongoDB Database Tools/
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 hay chưa, hãy thử chạy lệnh sau trong Terminal hoặc Command Prompt để kiểm tramongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
5Nếu bạn có nó, bạn sẽ thấy thông tin phiên bản, v.v. Nếu bạn không có nó, bạn có thể sử dụng hướng dẫn cài đặt trên trang web MongoDB để cài đặt nó vào hệ thống của bạn
Nơi để chạy các lệnh?
Đừng quên, bạn cần chạy các lệnh
mongoexport --db=PetHotel --collection=pets --type=csv --fields=_id,name,type,weight --query='{ "type": "Dog" }' --out=data/dogs.csv
6 từ dòng lệnh của hệ thống (e. g. cửa sổ Terminal hoặc Command Prompt mới)
Làm cách nào để chuyển đổi dữ liệu MongoDB thành Excel?
Quy trình .
Bắt đầu Excel. Khởi động Microsoft Excel và mở một trang tính trống
Chọn tab Dữ liệu. Chọn tab Dữ liệu để mở thanh công cụ Dữ liệu
Mở Hộp thoại Trình hướng dẫn Kết nối Dữ liệu. .
Chọn ODBC DSN. .
Chọn DSN của bạn. .
Chọn một cơ sở dữ liệu và bảng. .
Lưu tệp kết nối. .
Chỉ định định dạng trang tính
Làm cách nào để lấy dữ liệu từ MongoDB?
Bạn có thể sử dụng thao tác đọc để truy xuất dữ liệu từ cơ sở dữ liệu MongoDB của mình. Có nhiều loại thao tác đọc truy cập dữ liệu theo những cách khác nhau. Nếu bạn muốn yêu cầu kết quả dựa trên một bộ tiêu chí từ bộ dữ liệu hiện có, bạn có thể sử dụng thao tác tìm chẳng hạn như phương thức find() hoặc findOne().
Làm cách nào để tìm nạp dữ liệu từ bộ sưu tập trong MongoDB?
Để chọn dữ liệu từ một bộ sưu tập trong MongoDB, chúng ta có thể sử dụng phương thức findOne() . Phương thức findOne() trả về lần xuất hiện đầu tiên trong vùng chọn. Tham số đầu tiên của phương thức findOne() là một đối tượng truy vấn.
Làm cách nào để xuất tệp CSV từ MongoDB bằng nút JS?
Xuất dữ liệu MongoDB sang tệp CSV bằng fs
. Mô-đun có lớp Trình phân tích cú pháp mà chúng ta có thể sử dụng phương thức parse() để lấy dữ liệu được định dạng CSV dưới dạng chuỗi . Thì hàm fs writeFile() giúp ta ghi chuỗi vào file CSV. Cài đặt bằng lệnh. npm cài đặt json2csv.