MongoDB có lưu trữ dưới dạng JSON không?

đ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.json

Cá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

  1. 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ố 8

truy 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.json
0

Đầ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.json
1

Để 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

Pymongo Driver for MongoDB Export to JSON.

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.json
2

Sau khi cài đặt xong, hãy nhập trình điều khiển

mongoexport --collection=movies --db=director --out=movies.json
3

Sau khi cài đặt và nhập Pymongo, hãy cài đặt thư viện pandas

mongoexport --collection=movies --db=director --out=movies.json
4

Bướ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.json
5

Mã 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.json
6

Kế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.json
7

Bướ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.json
8

Luô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.json
9

Bướ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>
0

Bướ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>
1

Bướ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>
2

Bướ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>
3

7 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

Studio 3T Logo.Nguồn hình ảnh. studio3T. com

Sử 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

Wizard Toolbar.

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

Exporting Collections.

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.

Export Source

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

Reveal in Folder Option.

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

Selecting Current Query.

Chọn định dạng xuất cuối cùng là JSON

JSON Export Format.

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

Query Overview.

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 Logo.

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>
4

Mã 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>
5

Khi 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

Copying JSON.

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

Dữ liệu MongoDB được lưu trữ như thế nào?

MongoDB lưu trữ dữ liệu và chỉ mục trên đĩa ở định dạng nhị phân được nén .

MongoDB sử dụng định dạng nào để lưu trữ dữ liệu?

BSON là định dạng được sử dụng cho cả lưu trữ dữ liệu và truyền mạng trong MongoDB. Sau khi lưu trữ dữ liệu trong MongoDB, bạn có thể muốn lấy lại dữ liệu của mình dưới dạng JSON, trong số nhiều định dạng khác.

NoSQL chỉ là JSON?

Cơ sở dữ liệu NoSQL JSON xử lý tài liệu dưới dạng đối tượng tệp dữ liệu riêng lẻ mà không sử dụng bảng có cấu trúc. Số lượng hàng hoặc kích thước bảng không hạn chế số lượng tài liệu được lưu trữ trong cơ sở dữ liệu JSON. Thay vào đó, tính khả dụng của bộ nhớ là giới hạn duy nhất đối với khối lượng dữ liệu. Rất may, một cụm có thể dễ dàng mở rộng dung lượng lưu trữ

Tại sao MongoDB sử dụng JSON?

Để làm cho JSON phù hợp hơn nữa với mô hình dữ liệu tài liệu sáng tạo của nó, MongoDB đã phát minh ra BSON (JSON nhị phân), một biểu diễn nhị phân để lưu trữ dữ liệu ở định dạng JSON, được tối ưu hóa về tốc độ, không gian và tính linh hoạt. Hướng dẫn này sẽ chỉ cho bạn cách nhập dữ liệu JSON vào MongoDB cho một số trường hợp sử dụng chính