Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Tài liệu về nhà → la bàn MongoDBMongoDB Compass

Bạn có thể sử dụng Compass MongoDB để nhập và xuất dữ liệu đến và từ các bộ sưu tập. La bàn hỗ trợ nhập và xuất cho cả tệp JSON và CSV. Để nhập hoặc xuất dữ liệu vào hoặc từ bộ sưu tập, điều hướng đến chế độ xem bộ sưu tập chi tiết bằng cách chọn bộ sưu tập từ tab cơ sở dữ liệu hoặc nhấp vào bộ sưu tập trong điều hướng bên trái.JSON and CSV files. To import or export data to or from a collection, navigate to the detailed collection view by either selecting the collection from the Databases tab or clicking the collection in the left-side navigation.

MongoDB Compass có thể nhập dữ liệu vào một bộ sưu tập từ tệp JSON hoặc CSV.JSON or CSV file.

  • Nhập dữ liệu vào một bộ sưu tập không được phép trong phiên bản dễ đọc của La bàn.MongoDB Compass Readonly Edition.

  • Nhập dữ liệu không có sẵn nếu bạn được kết nối với hồ dữ liệu.Data Lake.

Trước khi bạn có thể nhập dữ liệu của mình vào La bàn MongoDB, trước tiên bạn phải đảm bảo rằng nó được định dạng chính xác.

Để nhập dữ liệu được định dạng của bạn vào một bộ sưu tập:

Bạn có thể chọn bộ sưu tập từ tab Bộ sưu tập hoặc nhấp vào bộ sưu tập trong khung bên trái.

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

La bàn hiển thị hộp thoại sau:

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Trong chọn Loại tệp đầu vào, chọn JSON hoặc CSV.Select Input File Type, select either JSON or CSV.

Nếu bạn đang nhập tệp CSV, bạn có thể chỉ định các trường để nhập và các loại của các trường đó trong chỉ định các trường và loại. Kiểu dữ liệu mặc định cho tất cả các trường là chuỗi.Specify Fields and Types. The default data type for all fields is string.

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Để loại trừ một trường khỏi tệp CSV bạn đang nhập, bỏ chọn hộp kiểm bên cạnh tên trường đó. Để chọn một loại cho một trường, hãy sử dụng menu thả xuống bên dưới tên trường đó.

Trong các tùy chọn, định cấu hình các tùy chọn nhập cho trường hợp sử dụng của bạn.Options, configure the import options for your use case.

Nếu bạn đang nhập tệp CSV, bạn có thể chọn cách phân đoạn dữ liệu của bạn.

Đối với cả nhập tệp JSON và CSV, bạn có thể chuyển đổi bỏ qua các chuỗi trống và dừng lỗi:Ignore empty strings and Stop on errors:

  • Nếu được kiểm tra, hãy bỏ qua các chuỗi trống sẽ giảm các trường với các giá trị chuỗi trống từ các tài liệu đã nhập của bạn. Tài liệu vẫn được nhập với tất cả các trường khác.Ignore empty strings drops fields with empty string values from your imported documents. The document is still imported with all other fields.

  • Nếu được kiểm tra, hãy dừng các lỗi sẽ ngăn bất kỳ dữ liệu nào được nhập trong trường hợp lỗi. Nếu không được kiểm soát, dữ liệu được chèn cho đến khi gặp lỗi và việc chèn thành công không được quay lại. Hoạt động nhập sẽ không tiếp tục sau khi gặp lỗi trong cả hai trường hợp.Stop on errors prevents any data from being imported in the event of an error. If unchecked, data is inserted until an error is encountered and successful inserts are not rolled back. The import operation will not continue after encountering an error in either case.

Một thanh tiến trình hiển thị trạng thái của nhập. Nếu xảy ra lỗi trong quá trình nhập, thanh tiến trình chuyển sang màu đỏ và thông báo lỗi xuất hiện trong hộp thoại. Sau khi nhập thành công, hộp thoại đóng và la bàn hiển thị trang thu thập chứa các tài liệu mới được nhập.

MongoDB Compass có thể xuất dữ liệu từ một bộ sưu tập dưới dạng tệp JSON hoặc CSV. Nếu bạn chỉ định một bộ lọc hoặc đường ống tổng hợp cho bộ sưu tập của bạn, la bàn chỉ xuất các tài liệu phù hợp với kết quả truy vấn hoặc đường ống được chỉ định.JSON or CSV file. If you specify a filter or aggregation pipeline for your collection, Compass only exports documents which match the specified query or pipeline results.

Mặc dù có thể loại trừ các tài liệu bằng cách sử dụng bộ lọc truy vấn, nhưng không thể định hình lại các tài liệu đã xuất với tài liệu dự án. Ngay cả khi bạn chỉ định tùy chọn project trong truy vấn, la bàn vẫn xuất toàn bộ tài liệu.

Để nhập và xuất dữ liệu từ dòng lệnh, bạn có thể sử dụng các công cụ cơ sở dữ liệu của MongoDB. Xem Mongoimport và MongoExport.Database Tools. See mongoimport and mongoexport.

Xin chào tất cả các bạn, mình là Quân, hôm nay mình sẽ hướng dẫn các bạn cách import và export database trong MongoDB nhé.

Những nội dung trong bài:

  1. Tạo dữ liệu mẫu.
  2. Export database MongoDB.
  3. Import database MongoDB.

1. Tạo dữ liệu mẫu

Đầu tiên phải có dữ liệu mẫu đã chứ nhỉ 😀 mình sẽ tạo một database ví dụ để thực hiện việc export và import trong bài viết hôm nay.exportimport trong bài viết hôm nay.

Mình sử dụng MongoDB Compass để tạo dữ liệu cho nhanh, bạn nào chưa biết nó là gì thì tham khảo phần 2 trong bài viết này nhé:MongoDB Compass để tạo dữ liệu cho nhanh, bạn nào chưa biết nó là gì thì tham khảo phần 2 trong bài viết này nhé:

“Cài đặt MongoDB và MongoDB Compass trên Ubuntu – Linux Mint”

  • Mình sẽ tạo database tên là import-export-trungquandev cùng với một collection là users.import-export-trungquandev cùng với một collection là users.

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

  • Chọn vào collection users để tạo bản ghi mới:users để tạo bản ghi mới:

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

  • Nhập dữ liệu mẫu cho một bản ghi user, rồi chọn Insert:Insert:

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Vậy là xong, chỉ cần một bản ghi như trên là đủ để làm ví dụ export / import rồi.export / import rồi.

Một lưu ý trước khi tới phần tiếp theo:

Như ở bài giới thiệu MongoDB trước, mình có nhắc đến 3 công cụ giao diện đồ họa giúp cho việc quản lý các cơ sở dữ liệu mongodb dễ dàng hơn đó là Studio 3T (mất phí), adminMongo(miễn phí) và MongoDB Compass (miễn phí).giới thiệu MongoDB trước, mình có nhắc đến 3 công cụ giao diện đồ họa giúp cho việc quản lý các cơ sở dữ liệu mongodb dễ dàng hơn đó là Studio 3T (mất phí), adminMongo(miễn phí) và MongoDB Compass (miễn phí).

Cho tới thời điểm hiện tại mình viết bài này thì chỉ cóStudio 3T là hỗ trợ import/export databse mongodb thông qua giao diện đồ họa. Dĩ nhiên nó là hàng trả phí, gói thấp nhất cũng rơi vào tầm $150/năm. Bạn nào muốn sử dụng nó thì tham khảo chi phí Studio 3T ở đây. thì chỉ có Studio 3T là hỗ trợ import/export databse mongodb thông qua giao diện đồ họa. Dĩ nhiên nó là hàng trả phí, gói thấp nhất cũng rơi vào tầm $150/năm. Bạn nào muốn sử dụng nó thì tham khảo chi phí Studio 3T ở đây.

Còn adminMongo và MongoDB Compass thì chưa hỗ trợ, nên mình sẽ hướng dẫn cho các bạn import/export database mongodb thông qua giao diện dòng lệnh. Yên tâm, đơn giản lắm 😀adminMongoMongoDB Compass thì chưa hỗ trợ, nên mình sẽ hướng dẫn cho các bạn import/export database mongodb thông qua giao diện dòng lệnh. Yên tâm, đơn giản lắm 😀


2. Export database MongoDB

Mở Terminal lên và chạy:Terminal lên và chạy:

mongoexport --db tên_database --collection tên_collection --out tên_file_xuất_ra.json

Các thông số:

--db: tên database cần export.

--collection: tên collection cần export.

--out: tên file xuất ra dưới dạng json.

(Cụ thể trong lệnh trên các bạn nhập tên database, tên collection đã tạo ở phần 1 và tên file dạng json mà các bạn muốn export ra.)tên database, tên collection đã tạo ở phần 1tên file dạng json mà các bạn muốn export ra.)

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Kết quả exported 1 record: chính là bản ghi ban nãy mà mình vừa tạo trong collection users.exported 1 record: chính là bản ghi ban nãy mà mình vừa tạo trong collection users.

Vì khi export mình đang đứng từ desktop nên bây giờ ra ngoài desktop kiểm tra file userExported.json xem đã có chưa. Và nó đây:export mình đang đứng từ desktop nên bây giờ ra ngoài desktop kiểm tra file userExported.json xem đã có chưa. Và nó đây:

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Nếu database của bạn có nhiều collection thì làm lần lượt tương tự với từng cái nhé, bên mongodb này nó không có kiểu import/export nguyên cả cái database như bên PhpMyAdmin của Mysql.database của bạn có nhiều collection thì làm lần lượt tương tự với từng cái nhé, bên mongodb này nó không có kiểu import/export nguyên cả cái database như bên PhpMyAdmin của Mysql.


3. Import database MongoDB

Bây giờ mình sẽ tạo một database và collection mới, sau đó import dữ liệu từ file userExported.json ở trên vào.một database và collection mới, sau đó import dữ liệu từ file userExported.json ở trên vào.

Tạo database new-database-trungquandev và collection new-users:new-database-trungquandev và collection new-users:

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Quay lại cửa sổ terminal ban nãy, chạy lệnh:terminal ban nãy, chạy lệnh:

mongoimport --db tên_database --collection tên_collection --file tên_file_import.json

Các thông số:

--db: tên database cần export.cần import.

--collection: tên collection cần export.cần import.

--out: tên file xuất ra dưới dạng json.

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

(Cụ thể trong lệnh trên các bạn nhập tên database, tên collection đã tạo ở phần 1 và tên file dạng json mà các bạn muốn export ra.)database mới xem đã có dữ liệu chưa, kết quả ngon lành 😀

Hướng dẫn mongodb output to csv - mongodb xuất ra csv

Kết quả exported 1 record: chính là bản ghi ban nãy mà mình vừa tạo trong collection users. Import cũng giống Export đó là phải làm tương tự với từng collection trong một database.


Vì khi export mình đang đứng từ desktop nên bây giờ ra ngoài desktop kiểm tra file userExported.json xem đã có chưa. Và nó đây:import và export database trong MongoDB, bài này cũng đơn giản thôi mà nhỉ? 😀

Nếu database của bạn có nhiều collection thì làm lần lượt tương tự với từng cái nhé, bên mongodb này nó không có kiểu import/export nguyên cả cái database như bên PhpMyAdmin của Mysql.

3. Import database MongoDB

Bây giờ mình sẽ tạo một database và collection mới, sau đó import dữ liệu từ file userExported.json ở trên vào.


Tạo database new-database-trungquandev và collection new-users:

https://docs.mongodb.com/manual/reference/program/mongoimport/

https://docs.mongodb.com/manual/reference/program/mongoexport/

Quay lại cửa sổ terminal ban nãy, chạy lệnh:

--db: tên database cầnimport.