Có bao nhiêu kiểu dữ liệu trong MongoDB?
Có nhiều loại dữ liệu được sử dụng và được hỗ trợ trong MongoDB. Các kiểu dữ liệu phổ biến nhất của MongoDB là Show Mảng Mảng là một biến duy nhất có thể lưu trữ nhiều giá trị cùng một lúc. Một mảng trong MongoDB được sử dụng để chứa nhiều giá trị dưới một khóa duy nhất Boolean Kiểu dữ liệu boolean chỉ bao gồm hai giá trị. 0 hoặc 1 (tôi. e, TRUE hoặc FALSE) Ngày Để chỉ định một ngày giờ cụ thể hoặc để lưu trữ ngày giờ hiện tại ở định dạng thời gian unix, kiểu dữ liệu Date được sử dụng trong MongoDB Kép Double cũng đại diện cho tất cả các số thập phân và số mũ số nguyên Tất cả các số không phải là số thập phân được gọi là Số nguyên. Kích thước của một số nguyên phụ thuộc vào máy chủ; Phím Tối thiểu/Tối đa Để so sánh một giá trị với các phần tử bson thấp nhất và cao nhất, kiểu dữ liệu Min/Max được sử dụng trong MongoDB Vô giá trị Như tên cho thấy, loại dữ liệu NULL được sử dụng để biểu thị không có giá trị hoặc giá trị bằng không Sự vật Bất cứ thứ gì có trạng thái và hành vi đều có thể được gọi là Đối tượng, có thể là vật lý hoặc logic. Đối tượng là một loại dữ liệu trong MongoDB thường được sử dụng cho các tài liệu nhúng Sợi dây Một dãy các ký tự, được lưu trữ bên trong dưới dạng một mảng các ký tự được gọi là chuỗi. Chuỗi UTF-8 dùng để lưu trữ dữ liệu trong MongoDB Biểu tượng Biểu tượng là một loại dữ liệu duy nhất được hỗ trợ bởi MongoDB, được sử dụng cho các ngôn ngữ sử dụng một loại cụ thể Sau đây là danh sách các kiểu dữ liệu có thể sử dụng trong MongoDB Kiểu dữ liệuDescriptionStringString là kiểu dữ liệu được sử dụng phổ biến nhất. Nó được sử dụng để lưu trữ dữ liệu. Một chuỗi phải là UTF 8 hợp lệ trong mongodb. Số nguyênSố nguyên được sử dụng để lưu trữ giá trị số. Nó có thể là 32 bit hoặc 64 bit tùy thuộc vào máy chủ bạn đang sử dụng. Boolean Kiểu dữ liệu này được sử dụng để lưu trữ các giá trị boolean. Nó chỉ hiển thị giá trị CÓ/KHÔNG. Kiểu dữ liệu Double Double lưu trữ các giá trị dấu phẩy động. Phím Min/MaxKiểu dữ liệu này so sánh một giá trị với các phần tử bson thấp nhất và cao nhất. MảngKiểu dữ liệu này được sử dụng để lưu trữ một danh sách hoặc nhiều giá trị vào một khóa duy nhất. Đối tượng Loại dữ liệu đối tượng được sử dụng cho tài liệu nhúng. NullIt được sử dụng để lưu trữ các giá trị null. Biểu tượngNó thường được sử dụng cho các ngôn ngữ sử dụng một loại cụ thể. Ngày Loại dữ liệu này lưu trữ ngày hoặc giờ hiện tại ở định dạng thời gian unix. Nó giúp bạn có thể chỉ định ngày giờ của riêng mình bằng cách tạo đối tượng ngày tháng và chuyển giá trị ngày, tháng, năm vào đóKhi chúng tôi lưu trữ các cặp khóa-giá trị có liên quan cùng nhau trong một tập hợp các cặp khóa-giá trị, tập hợp này được gọi là tài liệu. Dưới đây là một ví dụ về tài liệu chứa dữ liệu về một nhân viên { "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, } Giới thiệu về kiểu dữ liệuTrong tài liệu trên, bạn có thể thấy rằng chúng tôi đã lưu trữ nhiều giá trị cho một nhân viên. Điều này rất giống với cách chúng tôi lưu trữ dữ liệu trong một hàng trong RDBMS điển hình. Các tài liệu tương tự được lưu trữ cùng nhau trong một bộ sưu tập. Bạn có thể coi các bộ sưu tập tương đương với NoSQL của một bảng RDBMS với một số điểm khác biệt chính mà chúng ta sẽ không thảo luận trong bài viết này Trong tài liệu trên, bạn có thể thấy rằng chúng tôi có 4 cặp khóa-giá trị khác nhau. Các giá trị có thể thuộc các loại khác nhau, ví dụ: trong trường hợp này, employee_name và employee_skills có các giá trị kiểu Chuỗi, employee_salary thuộc loại số và employee_status thuộc loại boolean Có các loại dữ liệu này (và hơn thế nữa) trong MongoDB cho phép chúng tôi lưu trữ dữ liệu ở định dạng hiệu quả hơn và cũng thực hiện các truy vấn mạnh mẽ và hiệu quả cao trên dữ liệu được lưu trữ Sử dụng đúng kiểu dữ liệu để lưu trữ các trường dữ liệu trong tài liệu là rất quan trọng đối với sự thành công của hệ thống cơ sở dữ liệu. Dưới đây là một số loại dữ liệu được sử dụng nhiều nhất có sẵn trong MongoDB
Chúng ta sẽ xem xét tất cả những điều này với các ví dụ nhưng trước đó, hãy xem JSON và BSON để hiểu cách MongoDB lưu trữ dữ liệu JSON và BSONJSON là viết tắt của Ký hiệu đối tượng JavaScript. Đây là một định dạng rất phổ biến được sử dụng bởi các API và dịch vụ web để trả lại dữ liệu cho khách hàng. Định dạng này được sử dụng rộng rãi vì tính đơn giản và dễ phân tích cú pháp. Hầu hết các ngôn ngữ lập trình hiện đại không cần lớp ứng dụng bổ sung để phân tích dữ liệu JSON Các đối tượng JSON là các thùng chứa liên kết đơn giản, trong đó dữ liệu được lưu trữ dưới dạng một tập hợp các cặp khóa-giá trị. Trong trường hợp này, một khóa được ánh xạ tới một giá trị (có thể là một số, chuỗi, hàm hoặc thậm chí là một đối tượng khác) MongoDB cũng lưu trữ dữ liệu dưới dạng tài liệu JSON nhưng dữ liệu JSON được mã hóa nhị phân. Điều này dẫn đến BSON. BSON chỉ đơn giản là viết tắt của JSON nhị phân. Cấu trúc nhị phân của BSON mã hóa thông tin về loại và độ dài, cho phép nó được phân tích cú pháp nhanh hơn nhiều và do đó mang lại hiệu suất tốt hơn Tóm lại, MongoDB lưu trữ dữ liệu ở định dạng BSON cả nội bộ và qua mạng, nhưng điều đó không có nghĩa là bạn không thể coi MongoDB là cơ sở dữ liệu JSON. Mọi thứ bạn có thể trình bày trong JSON đều có thể được lưu trữ nguyên bản trong MongoDB và được truy xuất dễ dàng trong JSON Các kiểu dữ liệu MongoDB khác nhauHãy cùng xem xét từng loại dữ liệu do MongoDB cung cấp với các ví dụ và hiểu các trường hợp sử dụng tốt nhất cho chúng
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, } Tài liệu trên có hai khóa có giá trị kiểu String. Cụ thể, employee_name và employee_skills có các giá trị Chuỗi. Đây là những giá trị đơn giản nhất và được sử dụng để đại diện cho một loạt các ký tự
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, } Khóa employee_salary lưu trữ một giá trị số và do đó nó thuộc kiểu số nguyên
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_score": 97.67, "employee_status": true, }
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_score": 97.67, "employee_status": true, } Booleans sử dụng ít bộ nhớ hơn một số nguyên hoặc chuỗi và tránh mọi tác dụng phụ không mong muốn của việc so sánh
{ "employee_name": "John Doe", "employee_skills": ["UI Design", "Graphic Design", "2D Animation"], "employee_score": 97.67, "employee_status": true, } Trong ví dụ trên, trường employee_skills chứa một mảng kiểu String trong đó mỗi giá trị trong mảng là một String Đây là một ví dụ khác trong đó thay vì một mảng thuộc loại đơn giản (Chuỗi), các tài liệu được nhúng trong mảng { "item_code": "1234-ABCD", "item_price": 49.99, "item_stock": [{ "warehouse": "Warehouse A", "qty": 1200 }, { "warehouse": "Warehouse B", "qty": 900 }], } Trong tài liệu trên, trường item_stock chứa một mảng các tài liệu nhúng
Dưới đây là một ví dụ về cách một ngày được lưu trữ trong một tài liệu { "student_name": "Bob Stan", "student_dob": ISODate("2006-02-10T10:50:42.389Z"), "student_marks": 78.98 } Trong ví dụ trên, ngày được lưu trữ có thể dễ dàng được chuyển đổi sang định dạng có thể đọc được bằng cách sử dụng JavaScript mới Date("2006-02-10T10. 50. 42. chức năng 389Z"). Nó sẽ trả về đầu ra sau Thứ 6 ngày 10 tháng 2 năm 2006 16. 20. 42 GMT+0530 (Giờ chuẩn Ấn Độ)
Trong ví dụ trên, trường item_dimensions là một tài liệu được nhúng vì nó chứa tập hợp các cặp khóa-giá trị riêng. Do đó, trường này thuộc loại Đối tượng
Đây là cách giá trị dấu thời gian trông như thế nào trong tài liệu khi nó được truy vấn { "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }0 Kiểu dữ liệu dấu thời gian thường được sử dụng để theo dõi thời gian tạo/chỉnh sửa/cập nhật tài liệu. Hàm Timestamp() mới được sử dụng trong quá trình chèn và máy chủ sẽ tự động thêm dấu thời gian vào trường
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }1 Điều này cũng tương tự với tài liệu sau khi trường này hoàn toàn không có { "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }2
Đây là một ví dụ { "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }3 Trường _id được thêm tự động cho mọi tài liệu nếu bạn không chỉ định rõ ràng một trường với loại ObjectID
Đây là một ví dụ { "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }4 BinData đây là đại diện base64 của nội dung nhị phân
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }5 Không xác định hiện không được dùng nữa trong MongoDB 4. 4
{ "employee_name": "John Doe", "employee_skills": "UI Design", "employee_salary": 40000, "employee_status": true, }6
Trong BSON, có hai loại khác nhau được định nghĩa cho các hàm không có bao đóng, JavaScript và một loại khác cho các hàm có bao đóng, JavaScript có Phạm vi. JavaScript với Phạm vi hiện không được dùng nữa trong MongoDB 4. 4 Vì vậy, đây là tất cả các kiểu dữ liệu quan trọng và nổi bật nhất trong MongoDB. BSON hỗ trợ nhiều kiểu dữ liệu hơn JSON. Một số kiểu dữ liệu cũ hơn và ít được sử dụng hơn sẽ bị xóa khỏi kệ hỗ trợ MongoDB và phạm vi hoặc hỗ trợ cho các kiểu mới hơn được cải thiện theo thời gian. Đây là một quá trình thường xanh 6 loại dữ liệu chính là gì?Số nguyên (int) Đây là kiểu dữ liệu số phổ biến nhất được sử dụng để lưu trữ các số không có thành phần phân số (-707, 0, 707) Dấu chấm động (float). Nhân vật (char). Chuỗi (str hoặc văn bản). Boolean (bool). Kiểu liệt kê (enum). Mảng. . 3 loại kiểu dữ liệu là gì?4 Loại dữ liệu. Danh nghĩa, thứ tự, rời rạc, liên tục .
Loại dữ liệu nào được lưu trữ trong MongoDB?Dữ liệu được lưu trữ trong MongoDB ở định dạng tài liệu BSON . Ở đây, BSON là viết tắt của Biểu diễn nhị phân của tài liệu JSON. Hay nói cách khác, ở phần phụ trợ, máy chủ MongoDB chuyển đổi dữ liệu JSON thành dạng nhị phân được gọi là BSON và BSON này được lưu trữ và truy vấn hiệu quả hơn.
Làm cách nào để tìm loại dữ liệu trong MongoDB?Như đã mô tả ở trên, toán tử $type hoạt động trên loại BSON trong MongoDB và nó cung cấp hai mã định danh cho mỗi loại BSON; . Chẳng hạn, để định vị kiểu dữ liệu Double, người ta có thể sử dụng giá trị số nguyên “1” và chuỗi “double” để định vị kiểu dữ liệu Double trong trường được chỉ định. |