điều kiện tiên quyết. MongoDB và Python, Làm việc với Dữ liệu JSON trong Python MongoDB là một định hướng tài liệu đa nền tảng và không quan hệ (i. e NoSQL) chương trình cơ sở dữ liệu. Nó là một cơ sở dữ liệu tài liệu nguồn mở, lưu trữ dữ liệu dưới dạng các cặp khóa-giá trị. JSON là viết tắt của Ký hiệu đối tượng JavaScript. Đây là định dạng tệp chuẩn mở và định dạng trao đổi dữ liệu có phần mở rộng “. json”, sử dụng văn bản mà con người có thể đọc được để lưu trữ và truyền các đối tượng dữ liệu bao gồm các cặp thuộc tính-giá trị và kiểu dữ liệu mảng
nhưng, tại sao các trường trong cấu trúc được lưu bằng mgo đều là chữ thường, nhưng khi 'lưu trực tiếp bằng json', tôi lại có các trường được viết hoa?
nó vẫn không thể thay đổi thành một cấu trúc?
在 2013年9月17日星期二UTC+8下午12时40分23秒,Gustavo Niemeyer写道:
Mongoexport là một tiện ích dòng lệnh được sử dụng để xuất dữ liệu từ một phiên bản MongoDB ở định dạng tệp JSON. Mongoexport chạy trực tiếp trên dòng lệnh MongoDB chứ không phải trên Mongo Shell & nó có thể được sử dụng theo cách sau
mongoexport --collection=<coll> [options]Mongoexport là một phần trong gói công cụ của MongoDB, có sẵn thông qua Trung tâm tải xuống MongoDB. Gói công cụ phải được cài đặt trước để có thể truy cập dòng lệnh
Người dùng phải chỉ định bộ sưu tập họ muốn xuất cùng với tên tệp đầu ra.
Mongoexport giúp xuất dữ liệu MongoDB ở định dạng JSON trong hai bước đơn giản
- Bước 1. Thiết lập kết nối với phiên bản MongoDB
- Bước 2. Chỉ định máy chủ và/hoặc cổng của phiên bản MongoDB
Bước 1. Thiết lập kết nối với phiên bản MongoDB
Một phiên bản MongoDB chạy trên cổng “27017”, không nhất thiết phải chỉ định máy chủ hoặc cổng
truy vấn ví dụ. Ở đây, đạo diễn đại diện cho cơ sở dữ liệu mà bộ sưu tập phim đang được xuất ở định dạng JSON
mongoexport --collection=movies --db=director --out=movies.jsonCác tùy chọn được chỉ định như một phần của truy vấn được sử dụng để xuất dữ liệu MongoDB ở định dạng JSON
-chủ nhà. Đây là một tham số tùy chọn giúp đề cập đến các phiên bản MongoDB của máy chủ từ xa
–tên người dùng & –mật khẩu. Đây là các tham số tùy chọn được sử dụng để xác thực
–db. Cung cấp thông tin về cơ sở dữ liệu
-thu thập. Cung cấp tên bộ sưu tập
a) Chỉ định bộ sưu tập mà bạn muốn xuất, có thể được thực hiện theo hai cách
--collection=<collection> or -c=<collection>b) Chỉ định tệp đầu ra mà bạn muốn xuất sang, có thể thực hiện tương tự theo hai cách
--out=<output_name> or -o=<output_name>c) Chỉ định cơ sở dữ liệu mà bạn sẽ xuất từ đó được thể hiện dưới dạng.
--db=<database_name> or -d=<database_name>Bước 2. Chỉ định máy chủ và/hoặc cổng của phiên bản MongoDB
Cổng và/hoặc tên máy chủ có thể được chỉ định theo nhiều cách
- Sử dụng chuỗi kết nối –uri
Phương pháp này yêu cầu chỉ định cơ sở dữ liệu là một phần của chuỗi
mongoexport --uri="mongodb://mongodb0.example.com:27017/conduct" --collection=webinars --out=webinars.json [additional options]Tùy chọn dòng lệnh –db không thể được sử dụng trực tiếp với chuỗi kết nối –uri
2. Sử dụng tùy chọn –host
Tùy chọn –host cho phép sử dụng một trong các cách sau để chỉ định giá trị
<--host=<hostname><:port> or -h=<hostname><:port>truy vấn ví dụ
mongoexport --host="mongodb0.example.com:27017" --collection=movies --db=director --out=movies.json [additional options]3. Sử dụng tùy chọn –host & –port
Các tùy chọn –host & –port cho phép sử dụng một trong các cách sau để chỉ định các giá trị
________số 8truy vấn ví dụ
mongoexport --host="mongodb0.example.com" --port=27017 --collection=movies--db=director--out=movies.json [additional options]Định dạng đầu ra của tài liệu đã xuất có thể thay đổi theo phiên bản JSON đang được sử dụng, do đó, chỉ xuất dữ liệu MongoDB là không đủ, điều quan trọng là phải hiểu đầu ra thay đổi như thế nào
Đầu ra trong JSON mở rộng v2. 0 (Chế độ thư giãn)
mongoexport --collection=movies --db=director --out=movies.json0Đầu ra trong JSON mở rộng v2. 0 (Chế độ chuẩn)
Để xuất dữ liệu MongoDB ở chế độ chuẩn, bạn cần sử dụng tham số –jsonFormat=canonical trong truy vấn của mình
mongoexport --collection=movies --db=director --out=movies.json1Để biết thêm thông tin về cú pháp mongoexport và các hoạt động khác nhau của nó, bạn có thể xem hướng dẫn sử dụng mongoexport
Phương pháp 2. Sử dụng trình điều khiển Pymongo
Trình điều khiển Pymongo là một cách khác để xuất dữ liệu MongoDB ở định dạng JSON mong muốn. Trình điều khiển Pymongo giúp tương tác với MongoDB bằng ngôn ngữ Python
Nó có sẵn bắt đầu từ MongoDB v2. 6 và hỗ trợ tất cả các phiên bản lên đến v4. 2
Phương pháp này bao gồm các bước sau
- Bước 1. Cài đặt Pymongo
- Bước 2. Kết nối với MongoClient
- Bước 3. Truy xuất tài liệu bằng lệnh gọi API
- Bước 4. Sử dụng gấu trúc. chuỗi () Phương pháp
- Bước 5. Tạo đối tượng khung dữ liệu Pandas
- Bước 6. Liệt kê & nối thêm đối tượng sê-ri
- Bước 7. sử dụng. hàm to_json()
Bước 1. Cài đặt Pymongo
Cách khuyến nghị để cài đặt trình điều khiển Pymongo là thông qua pip thường được cài đặt cùng với môi trường Python. Bạn có thể sử dụng đoạn mã sau
mongoexport --collection=movies --db=director --out=movies.json2Sau khi cài đặt xong, hãy nhập trình điều khiển
mongoexport --collection=movies --db=director --out=movies.json3Sau khi cài đặt và nhập Pymongo, hãy cài đặt thư viện pandas
mongoexport --collection=movies --db=director --out=movies.json4Bước 2. Kết nối với MongoClient
Để xuất dữ liệu MongoDB, điều cần thiết là kết nối và tạo MongoClient trên phiên bản MongoDB đang chạy
mongoexport --collection=movies --db=director --out=movies.json5Mã này sẽ kết nối với máy chủ và cổng mặc định, để cung cấp cho một máy chủ và cổng cụ thể, hãy sử dụng mã sau
mongoexport --collection=movies --db=director --out=movies.json6Kết nối với cơ sở dữ liệu & bộ sưu tập mong muốn để xuất dữ liệu MongoDB như sau
mongoexport --collection=movies --db=director --out=movies.json7Bước 3. Truy xuất tài liệu bằng lệnh gọi API
Để truy xuất tất cả tài liệu, hãy sử dụng phương thức find() và đảm bảo hiện tại không chuyển bất kỳ đối số nào. Do đó, đầu ra thu được sẽ ở dạng pymongo. con trỏ. đối tượng con trỏ
Khi lệnh gọi API được thực hiện, hãy sử dụng phương thức list() để nhận tất cả tài liệu.
mongoexport --collection=movies --db=director --out=movies.json8Luôn luôn là một phương pháp hay để hạn chế lượng dữ liệu MongoDB được xuất để làm cho quy trình hiệu quả hơn
mongoexport --collection=movies --db=director --out=movies.json9Bước 4. Sử dụng gấu trúc. phương pháp sê-ri ()
Xuất dữ liệu MongoDB với số lượng hạn chế như đã đề cập ở trên và chuyển đổi nó thành gấu trúc. loạt. Định dạng sê-ri như sau
--collection=<collection> or -c=<collection>0Bước 5. Tạo đối tượng khung dữ liệu Pandas
Bắt đầu bằng cách tạo một đối tượng trống như sau
--collection=<collection> or -c=<collection>1Bước 6. Liệt kê & nối thêm đối tượng sê-ri
Để lặp qua các tài liệu một cách hiệu quả, hãy sử dụng hàm liệt kê trong vòng lặp for python như sau
--collection=<collection> or -c=<collection>2Bước 7. sử dụng. hàm to_json()
Các phương thức vốn có của các đối tượng Pandas Series và DataFrame cho phép xuất hợp lý các định dạng tệp khác nhau bao gồm to_html(), to_json() và to_csv()
--collection=<collection> or -c=<collection>37 bước này có thể được sử dụng để xuất thành công dữ liệu MongoDB ở định dạng tệp JSON với sự trợ giúp của trình điều khiển Pymongo
Để biết thêm thông tin về Pymongo, bạn có thể xem hướng dẫn tài liệu của nó
Phương pháp 3. Sử dụng các công cụ như Studio 3T và Robo 3T
Nguồn hình ảnh. studio3T. comSử dụng Studio 3T
Studio 3T cung cấp tiện ích Export Wizard, giúp xuất dữ liệu MongoDB, kết quả truy vấn và thậm chí cả các bộ sưu tập ở nhiều dạng khác nhau như JSON. Quá trình bắt đầu bằng cách thiết lập kết nối với phiên bản MongoDB mong muốn, sau đó làm việc trên bộ sưu tập và tài liệu của nó bằng trình hướng dẫn Studio 3T.
Sử dụng Studio 3T, bạn có thể xuất dữ liệu MongoDB trong 2 bước
- Bước 1. Sử dụng Thanh công cụ Wizard
- Bước 2. Xuất tài liệu trong JSON
Bước 1. Sử dụng Thanh công cụ Wizard
Bấm vào tùy chọn Xuất và sau đó sử dụng bấm chuột phải để chọn bất kỳ cơ sở dữ liệu nào theo sau là bộ sưu tập mà bạn muốn xuất
Với Studio 3T, bạn có thể xuất dữ liệu và đồng thời truy vấn trong các ứng dụng như Visual Query Builder, IntelliShell, SQL, v.v.
Cấu hình Xuất cho phép tự động thay đổi nguồn xuất i. cơ sở dữ liệu điện tử, bộ sưu tập, v.v.
Có thể theo dõi tiến trình của quy trình xuất bằng cách sử dụng cửa sổ thao tác thường thấy ở góc dưới cùng bên trái của trình hướng dẫn
Bước 2. Xuất tài liệu trong JSON
Bắt đầu bằng cách khởi chạy trình hướng dẫn, sau đó chọn nguồn từ nơi bạn muốn xuất tài liệu
Chọn định dạng xuất cuối cùng là JSON
Thao tác này sẽ mở một tab mới có tên là tổng quan về xuất cùng với một tab mặc định có tên là Đơn vị xuất #1-JSON
Có năm phần của tab Export unit#1-JSON
- Nguồn. Đảm bảo nguồn được nhập chính xác
- Tùy chọn định dạng. Chọn JSON-mongo shell/ JSON-mongoexport
- Mục tiêu. Chọn giữa khay nhớ tạm/tệp và đảm bảo đường dẫn tệp được xác định
- Người khác. Chọn xuất bằng dấu phẩy giữa các tài liệu hay xuất dưới dạng một mảng tài liệu
- Xem trước đầu ra. Hiển thị tài liệu JSON cuối cùng
Nhấp vào thực thi để xuất dữ liệu MongoDB ở định dạng JSON bằng Studio3T
Sử dụng Robo 3T
Robo 3T (trước đây là Robomongo) không trực tiếp cung cấp tính năng xuất dữ liệu MongoDB ở định dạng JSON, tuy nhiên, nó có thể được triển khai bằng cách điều chỉnh truy vấn xuất để cung cấp dữ liệu ở định dạng tương tự như JSON
Điều này có thể đạt được theo hai cách
1. Sử dụng chức năng tojson
--collection=<collection> or -c=<collection>4Mã này tạo ra một mảng tài liệu giống như JSON
2. Viết một truy vấn
--collection=<collection> or -c=<collection>5Khi truy vấn đã được thực thi, hãy nhấp chuột phải và chọn tùy chọn sao chép JSON để xuất dữ liệu MongoDB
Phần kết luận
Bài viết này cung cấp giải pháp từng bước để xuất dữ liệu MongoDB ở định dạng JSON, xem xét nhiều công cụ và kỹ thuật như Studio 3T. Nó giới thiệu ngắn gọn về các phương thức này và hoạt động của chúng để giúp người dùng hiểu rõ hơn về chúng và sử dụng chúng để xuất dữ liệu MongoDB ở định dạng tệp JSON theo cách hiệu quả nhất có thể. Nó cũng giới thiệu một phương pháp thay thế đó là Hevo, Đường ống dữ liệu không mã để xuất tài liệu MongoDB ở định dạng tệp JSON. Giải pháp tự động của Hevo giúp thực hiện các thao tác này một cách dễ dàng
ĐĂNG KÝ dùng thử miễn phí 14 ngày và tận mắt trải nghiệm bộ Hevo giàu tính năng. Bạn cũng có thể xem giá cả cạnh tranh nhất của chúng tôi sẽ giúp bạn chọn kế hoạch phù hợp với nhu cầu kinh doanh của bạn
Chúng tôi rất muốn nghe từ bạn về trải nghiệm của bạn với những phương pháp này. Liên hệ với chúng tôi trong phần bình luận bên dưới