MongoDB lưu trữ dữ liệu JSON như thế nào?

Bài viết này sẽ giới thiệu về các loại dữ liệu chính trong MongoDB với các ví dụ mã để minh họa từng loại

Cùng với XML, JSON (Ký hiệu đối tượng JavaScript) là định dạng trao đổi dữ liệu chính được sử dụng trong phát triển web hiện đại. Cơ sở dữ liệu NoSQL như MongoDB sử dụng JSON để lưu trữ các bản ghi. JSON hỗ trợ tất cả các kiểu dữ liệu cơ bản như số, chuỗi, ký tự, boolean, v.v. JSON được MongoDB đại diện ở định dạng được mã hóa nhị phân được gọi là JSON được mã hóa nhị phân (BSON). BSON cung cấp thêm kiểu dữ liệu cho mô hình JSON. MongoDB hỗ trợ tất cả các loại dữ liệu BSON.  

Các loại kiểu dữ liệu MongoDB khác nhau

Sợi dây

Chuỗi là kiểu dữ liệu MongoDB được sử dụng phổ biến nhất. Chuỗi trong BSON là UTF-8. Bất kỳ giá trị nào được viết bên trong dấu ngoặc kép trong biểu diễn JSON đều là giá trị chuỗi. Giống như trong ví dụ sau, Peter là giá trị được gán cho trường tên

> db. Loại dữ liệu. điền tên. "Peter"})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e069956ce18f101ef12d"), "tên". "Peter" }
>

số nguyên

Số nguyên là một trong những kiểu dữ liệu cơ bản được sử dụng trong mọi ngôn ngữ lập trình. Nó được sử dụng để lưu trữ một giá trị số nguyên. Hai dạng của loại dữ liệu này có trong Mongodb, 32 bit và 64 bit. Trong biểu diễn JSON sau đây, trường tuổi có giá trị số nguyên

> db. Loại dữ liệu. chèn ({tuổi. 21})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e160956ce18f101ef12e"), "tuổi". 21 }
>

Kép

Trong khi kiểu dữ liệu Số nguyên chỉ lưu trữ một giá trị số nguyên, kiểu dữ liệu Double được sử dụng để lưu trữ giá trị dấu phẩy động

> db. Loại dữ liệu. chèn ({dấu. 94. 5})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e194956ce18f101ef12f"), "điểm". 94. 5 }
>

Nếu một cặp khóa-giá trị được chèn vào bên trong một tài liệu khác, nó được gọi là tài liệu được nhúng. Kiểu dữ liệu đối tượng được sử dụng để lưu trữ tài liệu nhúng. Ví dụ: Trong biểu diễn JSON sau đây, Địa chỉ là một kiểu dữ liệu đối tượng

> địa chỉ var ={ đường phố. "123 đường số 5", thành phố. "New York", đất nước. "Hoa Kỳ"}
> db. Loại dữ liệu. điền tên. "Peter", địa chỉ. address})
WriteResult({ "nInserted". 1 })
>db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e194956ce18f101ef12f"), "điểm". 94. 5 }
{
        "_id". ObjectId("5d35e1fb956ce18f101ef130"),
        "tên". "Peter",
        "địa chỉ". {
                "đường phố". "123 5th street",
                "thành phố". "New York",
                "quốc gia". "Hoa Kỳ"
        }
}
>

Boolean

Các kiểu dữ liệu Boolean lưu trữ các giá trị boolean. Trong ví dụ sau, cả hai trường đều thuộc kiểu dữ liệu Boolean

> db. Loại dữ liệu. chèn ({thành viên. đúng, thủ tướng. false})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{
        "_id". ObjectId("5d35e22f956ce18f101ef131"),
        "thành viên". true,
        "thủ tướng". sai
}
>

Ghi chú. giá trị boolean không được viết bên trong dấu ngoặc kép

Kiểu dữ liệu ngày lưu trữ ngày hoặc giờ hiện tại. Có các phương thức được sử dụng để trả về ngày. Nó có thể là một đối tượng chuỗi hoặc ngày. Có ba phương pháp như vậy. 1. Date(), trả về một chuỗi. 2. Ngày mới (), trả về một đối tượng ngày. 3. ISODate(), cũng trả về một đối tượng ngày tháng

Trong biểu diễn sau, firstDate, secondDate và thirdDate được tạo bằng cách sử dụng Date(), New Date() và ISODate() tương ứng

> var date1 = Date()
> var date2 = new Date()
> var date3 = new ISODate()
> db.datatypes.insert({firstDate: date1, secondDate: date2, thirdDate: date3})
WriteResult({ "nInserted". 1 })
>db. Loại dữ liệu. tìm thấy(). xinh()
{
        "_id". ObjectId("5d35e2c0956ce18f101ef132"),
        "firstDate". "Thứ hai, ngày 22 tháng 7 năm 2019 21. 51. 42 GMT+0530 (Giờ chuẩn Ấn Độ)",
        "secondDate". ISODate("2019-07-22T16. 21. 48. 099Z"),
        " thirdDate". ISODate("2019-07-22T16. 22. 02. 109Z")
}
>

Dữ liệu nhị phân

Kiểu dữ liệu nhị phân được sử dụng để lưu trữ dữ liệu nhị phân

> var data = BinData(1, "232sa3d323sd232a32sda3s2d3a2s1d23s21d3sa")
> db. Loại dữ liệu. chèn ({dữ liệu nhị phân. data})
WriteResult({ "nInserted". 1 })
>db. Loại dữ liệu. tìm thấy(). xinh()
{
        "_id". ObjectId("5d35e347956ce18f101ef133"),
        "binaryData". BinData(1,"232sa3d323sd232a32sda3s2d3a2s1d23s21d3sa")
}
>

Mảng

Mảng được lưu trữ trong các kiểu dữ liệu này. Mảng chứa một tập hợp các giá trị. Các giá trị bên trong mảng có thể thuộc bất kỳ kiểu dữ liệu nào. Giá trị bên trong một mảng được đặt trong dấu ngoặc kép. Ví dụ: trường Favbooks là kiểu dữ liệu mảng chứa nhiều giá trị

> var favBooks = ["Trò chơi vương quyền", "Cuộc đụng độ của các vị vua", "Bão kiếm"]
> db. Loại dữ liệu. chèn({favBooks. favBooks})
WriteResult({ "nInserted". 1 })
>db. Loại dữ liệu. tìm thấy(). xinh()
{
        "_id". ObjectId("5d35e39d956ce18f101ef134"),
        "Sách yêu thích". [
                "Trò chơi vương quyền",
              "Cuộc đụng độ của các vị vua",
              "Bão kiếm"        ]
}
>

JavaScript

Để lưu trữ mã JavaScript không có phạm vi, kiểu dữ liệu JavaScript được sử dụng

> db. Loại dữ liệu. chèn ({JSCode. "function(){x=2+2}"})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{
        "_id". ObjectId("5d35e3df956ce18f101ef135"),
        "JSCode". "function(){x=2+2}"
}
>

Một chuỗi các ký tự được sử dụng để mô tả ngày và thời gian khi một sự kiện xảy ra được gọi là Dấu thời gian. Kiểu dữ liệu dấu thời gian lưu trữ các ký tự như vậy. Dấu thời gian mới () được sử dụng để tạo dấu thời gian

> var timestamp = new Timestamp()
> db. Loại dữ liệu. chèn ({dấu thời gian. dấu thời gian})
WriteResult({ "nInserted". 1 })
>db. Loại dữ liệu. tìm thấy(). xinh()
{
        "_id". ObjectId("5d35e44b956ce18f101ef136"),
        "dấu thời gian". Dấu thời gian(1563812939, 1)
}
>

Biểu hiện thông thường

Kiểu dữ liệu này lưu trữ biểu thức chính quy. Nó tương tự như biểu thức chính quy của JavaScript

> var regex = new RegExp("%mongodb%")
> db. Loại dữ liệu. chèn ({thông thường. regex})
WriteResult({ "nInserted". 1 })
>db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e49c956ce18f101ef137"), "thông thường". /%mongodb%/ }
>

Vô giá trị

Các giá trị null cũng có thể được lưu trữ trong MongoDB. Kiểu dữ liệu null được sử dụng cho việc này

> db. Loại dữ liệu. chèn ({giá trị. null})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e4d2956ce18f101ef138"), "giá trị". null }
>

Chưa xác định

Các giá trị không xác định được lưu trữ trong MongoDB bằng loại dữ liệu này. Nhưng loại dữ liệu này không được dùng nữa

> db. Loại dữ liệu. chèn ({giá trị. undefined})
WriteResult({ "nInserted". 1 })
> db. Loại dữ liệu. tìm thấy(). xinh()
{ "_id". ObjectId("5d35e4f6956ce18f101ef139"), "giá trị". không xác định }
>

ID đối tượng

Quan sát tất cả các ví dụ trên. Có một tên trường _id. Nó được tạo tự động mọi lúc khi một tài liệu được tạo. Mọi tài liệu được tạo trong MongoDB đều có tên trường id mặc định là _id. Nó chứa một giá trị duy nhất cho mọi tài liệu

Sự kết luận

Đây là những kiểu dữ liệu chính được sử dụng trong MongoDB. Ngoài những loại này, còn có một số loại dữ liệu khác như khóa tối thiểu so sánh với phần tử BSON nhỏ nhất, khóa tối đa so sánh với phần tử BSON cao nhất, Javascript có phạm vi, số nguyên 32 bit và số nguyên 64 bit. Các kiểu dữ liệu đóng một phần quan trọng trong MongoDB. BSON hỗ trợ nhiều loại dữ liệu hơn và những loại dữ liệu này rất hữu ích khi tạo tài liệu MongoDB

Làm cách nào để lưu trữ định dạng JSON trong MongoDB?

Tạo tệp JSON . Vì vậy, chúng tôi sẽ tạo một thư mục mới có tên là dự án . Trong thư mục này, tạo một tệp mới và đặt tên là tệp. json sau đó dán mã trong đoạn mã bên dưới vào tệp đó.

Làm cách nào để chèn dữ liệu JSON vào MongoDB?

Để nhập tệp JSON, bạn cần làm theo các bước sau. Bước 1. Mở dấu nhắc lệnh và đưa ra lệnh mongod để kết nối với máy chủ MongoDB và không đóng cmd này để duy trì kết nối với máy chủ. Bước 2. Mở một dấu nhắc lệnh khác và chạy vỏ mongo. Sử dụng lệnh mongo

Làm cách nào để lưu trữ dữ liệu JSON trong MongoDB bằng Java?

Cách đơn giản nhất để nhập JSON vào MongoDB là chuyển nó thành “tổ chức. bson. Đối tượng tài liệu” trước . Lớp này đại diện cho một tài liệu MongoDB chung không có loại cụ thể.

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

Dữ liệu được lưu trữ trong một tập hợp các cặp khóa-giá trị . Con người có thể đọc được dữ liệu này, giúp JSON trở nên hoàn hảo để chỉnh sửa thủ công. Từ đoạn mã nhỏ này, bạn có thể thấy rằng các khóa được đặt trong dấu ngoặc kép, dấu hai chấm phân tách khóa và giá trị, đồng thời giá trị có thể thuộc các loại khác nhau. Các bộ khóa-giá trị được phân tách bằng dấu phẩy.