MongoDB sử dụng định dạng tuần tự hóa BSON để lưu trữ dữ liệu trên đĩa. BSON là một dạng rút gọn của định dạng JSON được mã hóa nhị phân và BSON giúp thực hiện các lệnh gọi thủ tục từ xa. Khi chúng ta nói về các loại dữ liệu trong MongoDB, MongoDB hỗ trợ một loạt các loại dữ liệu để kiểm tra một tài liệu trong bộ sưu tập dữ liệu. MongoDB hỗ trợ tuần tự hóa BSON vì nó hỗ trợ nhiều loại dữ liệu hơn định dạng JSON
MongoDB giúp dịch giữa BSON và biểu diễn tài liệu liên quan đến ngôn ngữ
Trong MongoDB, mọi kiểu dữ liệu đều có giá trị số liên quan từ 1 đến 255 và được toán tử
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
3 sử dụng để tìm kiếm trong bộ sưu tậpBạn có thể tìm hiểu thêm chi tiết về BSON tại đây http. //bsonspec. tổ chức
Các kiểu dữ liệu MongoDB với các định danh số
Kiểm tra các loại dữ liệu với số nhận dạng tương ứng của chúng trong bảng bên dưới
Loại dữ liệuSố IDDouble1String2Object3Array4Binary Data5Undefined6Object Id7Boolean9Date10Null11Regular Expression12JavaScript13Symbol14JavaScript với phạm vi15Integer16 và 18Timestamp10Min Key255Max Key127Các kiểu dữ liệu trong các ví dụ về MongoDB
Trong ví dụ dưới đây, bạn có thể tìm hiểu các loại dữ liệu với các ví dụ
Gấp đôi
Kiểu dữ liệu này được sử dụng để lưu trữ giá trị dấu phẩy động trong MongoDB
> var double = 2345.54
> double
# 2345.54
Chuỗi
Loại dữ liệu này được sử dụng để lưu trữ các chuỗi BSON hợp lệ ở định dạng UTF-8, trong ví dụ dưới đây, chúng tôi đang chèn một chuỗi hợp lệ vào tài liệu mongoDB
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
Mục tiêu
Một kiểu dữ liệu đối tượng được sử dụng để lưu trữ tài liệu được nhúng. Một loạt tài liệu lồng nhau, đặc biệt ở định dạng cặp
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
4, được gọi là tài liệu nhúngNhư bạn có thể thấy trong ví dụ bên dưới, chúng tôi đang chèn một tài liệu có tên local trong cơ sở dữ liệu
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
5. Đây là một ví dụ về kiểu dữ liệu đối tượng> var local = {author: "Digamber", score: 5.5, publication: "positronx"}
> db.angular8mean.insert[{system: "MacOS", diskspace: "10GB", server:local}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[].pretty[]
{
"_id" : ObjectId["5d0f4eed01e668ef2b2651c4"],
"Document" : "MongoDB data type"
}
{
"_id" : ObjectId["5d0f50f701e668ef2b2651c5"],
"system" : "MacOS",
"diskspace" : "10GB",
"server" : {
"author" : "Digamber",
"score" : 5.5,
"publication" : "positronx"
}
}
Mảng
Kiểu dữ liệu này giúp lưu trữ mảng, chúng ta có thể lưu trữ nhiều giá trị hoặc một danh sách trong một mục. Hãy cùng tìm hiểu Trong ví dụ dưới đây, cách lưu trữ các giá trị trong một mảng
> db
angular8mean
> use angular8mean
switched to db angular8mean
> var array1 = ['USA', 'France', 'UK']
> var array2 = ['USA', 'France', 'UK', 515, 615, 2.15]
> var array3 = ['USA', 'France', 'UK', 515, new Date[]]
> db.angular8mean.insert[{data1: array1, data2: array2, data3: array3}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[].pretty[]
{
"_id" : ObjectId["5d0f539401e668ef2b2651c6"],
"data1" : [
"USA",
"France",
"UK"
],
"data2" : [
"USA",
"France",
"UK",
515,
615,
2.15
],
"data3" : [
"USA",
"France",
"UK",
515,
ISODate["2019-06-23T10:24:11.326Z"]
]
}
Dữ liệu nhị phân
Kiểu dữ liệu MongoDB này giúp lưu trữ dữ liệu nhị phân
Chưa xác định
Kiểu dữ liệu này trong MongoDB lưu trữ các giá trị không xác định
db.angular8mean.insert[{system: "MacOS", diskspace: "10GB", server:undefined}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[].pretty[]
{
"_id" : ObjectId["5d0f57b501e668ef2b2651c7"],
"system" : "MacOS",
"diskspace" : "10GB",
"server" : undefined
}
ID đối tượng
Loại dữ liệu này trong MongoDB lưu trữ ID của tài liệu duy nhất, MongoDB cung cấp trường an_id cho mọi tài liệu. Kích thước ObjectId của MongoDB là 12 byte và nó được chia thành bốn phần. Dấu thời gian, id máy, bộ đếm và id quá trình
________số 8Boolean
Kiểu dữ liệu này giúp lưu trữ các giá trị Boolean
> db.newdatabase.insert[{_id: ObjectId[], yes: true, no: false}]
WriteResult[{ "nInserted" : 1 }]
> db.newdatabase.find[].pretty[]
{ "_id" : ObjectId["5d0f5a4201e668ef2b2651cc"], "yes" : true, "no" : false }
Ngày
Kiểu dữ liệu ngày trong MongoDB lưu trữ ngày/giờ hiện tại ở định dạng thời gian UNIX. Nó cũng cho phép bạn tạo ngày của riêng mình bằng cách khai báo một đối tượng ngày
> var double = 2345.54
> double
# 2345.54
0Vô giá trị
Kiểu dữ liệu này trong MongoDB được sử dụng để lưu trữ giá trị null
> var double = 2345.54
> double
# 2345.54
1Biểu hiện thông thường
Kiểu dữ liệu này giúp lưu trữ các biểu thức chính quy trong MongoDB. Nó tương tự như biểu thức chính quy JavaScript
JavaScript
Các kiểu dữ liệu MongoDB này cho phép chúng tôi lưu trữ dữ liệu JavaScript mà không cần phạm vi
> var double = 2345.54
> double
# 2345.54
2Biểu tượng
Kiểu dữ liệu này tương tự như một chuỗi, trình bao MongoDB không hỗ trợ bằng ký hiệu trình bao. Tuy nhiên, nếu shell nhận được một biểu tượng từ cơ sở dữ liệu, nó sẽ chuyển đổi nó thành một chuỗi
JavaScript có phạm vi
Kiểu dữ liệu này trong MongoDB cho phép chúng tôi lưu trữ dữ liệu JavaScript với phạm vi
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
0số nguyên
Loại dữ liệu này giúp lưu trữ giá trị số và nó hỗ trợ loại dữ liệu 32 bit và 64 bit
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
1Dấu thời gian
Kiểu dữ liệu Dấu thời gian được sử dụng để lưu trữ dấu thời gian trong MongoDB
> db
angular8mean
> use angular8mean
switched to db angular8mean
> db.angular8mean.insert[{Document: "MongoDB data type"}]
WriteResult[{ "nInserted" : 1 }]
> db.angular8mean.find[]
{ "_id" : ObjectId["5d0f4eed01e668ef2b2651c4"], "Document" : "MongoDB data type" }
2Như bạn có thể thấy giá trị ban đầu của dấu thời gian là [0,0] và khi chúng tôi chạy lệnh, nó trở thành [1561290091, 1]. Giá trị đầu tiên là dấu thời gian và giá trị thứ hai đề cập đến thứ tự hoạt động
Phím tối thiểu/tối đa
Kiểu dữ liệu Dấu thời gian được sử dụng để lưu dấu thời gian trong MongoDB.
Các phím Tối thiểu/Tối đa cho phép chúng tôi kiểm tra giá trị tương ứng với các mục BSON thấp nhất và cao nhất.
Phần kết luận
Chúng tôi đã nhấn mạnh các Kiểu dữ liệu MongoDB được sử dụng rộng rãi trong hướng dẫn này. Chúng tôi cũng đã cố gắng tìm hiểu về định dạng tuần tự hóa BSON và vai trò của nó trong MongoDB. Tôi hy vọng hướng dẫn này sẽ giúp bạn hiểu thêm một chút về hoạt động của MongoDB. Nếu bạn yêu thích bài viết này, thì đừng quên chia sẻ nó với những người khác
máy đào
Tôi là Digamber, một nhà phát triển full-stack và là người đam mê thể dục. Tôi đã tạo trang web này để truyền kinh nghiệm mã hóa của mình cho các lập trình viên mới. Tôi thích viết trên JavaScript, ECMAScript, React, Angular, Vue, Laravel
Twitter GitHubBài viết đề xuất
Hướng dẫn về Loại Lược đồ Mongoose, Xác thực & Truy vấn Hướng dẫn về Hướng dẫn Chèn Tài liệu MongoDB vào Bộ sưu tập Hướng dẫn về MongoDB Cập nhật một / Nhiều tài liệu trong một Bộ sưu tậpLàm cách nào để Gỡ cài đặt hoàn toàn MongoDB khỏi Linux?. js, MongoDB, Express RESTful API From ScratchLàm thế nào để dễ dàng cài đặt MongoDB trên Windows?Làm thế nào để nhanh chóng cài đặt MongoDB trên MacOS