Hướng dẫn what is code data type in mongodb? - kiểu dữ liệu mã trong mongodb là gì?

Tài liệu về nhà → vỏ MongoDBMongoDB Shell

Trên trang này

  • Ngày
  • ID đối tượng
  • Int32
  • Dài
  • Decimal128
  • Bình đẳng và sắp xếp thứ tự
  • Dấu thời gian
  • Kiểu kiểm tra
  • Ví dụ
  • Trở lại ngày làm chuỗi
  • Trả lại

    Timestamp( { "t": , "i": } )

    2
  • Các loại số
  • Tính nhất quán loại số mặc định
  • Dấu thời gian một tài liệu mới
  • Tạo dấu thời gian tùy chỉnh
  • Nhập kiểm tra bằng

    Timestamp( { "t": , "i": } )

    3
  • Nhập kiểm tra với một hàm tạo

Máy chủ MongoDB lưu trữ dữ liệu bằng định dạng BSON hỗ trợ một số loại dữ liệu bổ sung không có sẵn bằng định dạng JSON. So với Shell Legacy

Timestamp( { "t": , "i": } )

4, Shell MongoDB (

Timestamp( { "t": , "i": } )

5) có xử lý loại phù hợp hơn với các loại mặc định được sử dụng bởi các trình điều khiển MongoDB.BSON format which supports some additional data types that are not available using the JSON format. Compared to the legacy

Timestamp( { "t": , "i": } )

4 shell, MongoDB Shell (

Timestamp( { "t": , "i": } )

5) has type handling which is better aligned with the default types used by the MongoDB drivers.

Tài liệu này nêu bật những thay đổi trong việc sử dụng loại giữa

Timestamp( { "t": , "i": } )

5 và shell Legacy

Timestamp( { "t": , "i": } )

4. Xem tài liệu tham khảo JSON mở rộng để biết thêm thông tin về các loại được hỗ trợ.Extended JSON reference for additional information on supported types.

Timestamp( { "t": , "i": } )

5 cung cấp các phương thức khác nhau để trả về ngày, dưới dạng chuỗi hoặc dưới dạng đối tượng

Timestamp( { "t": , "i": } )

2:

  • Phương thức

    var myDateString = Date();

    0 trả về ngày hiện tại dưới dạng chuỗi.

  • Trình xây dựng

    var myDateString = Date();

    1 trả về một đối tượng

    Timestamp( { "t": , "i": } )

    2 bằng cách sử dụng trình bao bọc

    var myDateString = Date();

    3.

  • Trình xây dựng

    var myDateString = Date();

    3 trả về một đối tượng

    Timestamp( { "t": , "i": } )

    2 bằng cách sử dụng trình bao bọc

    var myDateString = Date();

    3.

Timestamp( { "t": , "i": } )

5 cung cấp lớp trình bao bọc

var myDateString = Date();

8 xung quanh kiểu dữ liệu ObjectID. Để tạo một ObjectID mới, hãy sử dụng thao tác sau trong

Timestamp( { "t": , "i": } )

5:ObjectId data type. To generate a new ObjectId, use the following operation in

Timestamp( { "t": , "i": } )

5:

Mẹo

Xem thêm:

Nếu một số có thể được chuyển đổi thành số nguyên 32 bit,

Timestamp( { "t": , "i": } )

5 sẽ lưu trữ nó là

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

1. Nếu không,

Timestamp( { "t": , "i": } )

5 mặc định lưu trữ số dưới dạng

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

3. Các giá trị số được lưu trữ dưới dạng

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

1 trong

Timestamp( { "t": , "i": } )

5 sẽ được lưu trữ theo mặc định là

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

3 trong shell

Timestamp( { "t": , "i": } )

4.

Chất xây dựng int32 () có thể được sử dụng để chỉ định rõ ràng các số nguyên 32 bit.Int32() constructor can be used to explicitly specify 32-bit integers.

db.types.insertOne(
{
"_id": 1,
"value": Int32("1"),
"expectedType": "Int32"
}
)

Cảnh báo

Các loại

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

1 và

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

3 mặc định có thể được lưu trữ không nhất quán nếu bạn kết nối với cùng một bộ sưu tập bằng cách sử dụng cả shell

Timestamp( { "t": , "i": } )

5 và Legacy

Timestamp( { "t": , "i": } )

4.

Chất xây dựng dài () có thể được sử dụng để chỉ định rõ ràng một số nguyên 64 bit.Long() constructor can be used to explicitly specify a 64-bit integer.

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)

Ghi chú

Trong Legacy

Timestamp( { "t": , "i": } )

4 shell
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
3 đã chấp nhận một chuỗi hoặc giá trị số nguyên. Trong

Timestamp( { "t": , "i": } )

5,
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
3 chỉ chấp nhận các giá trị chuỗi. Long () cung cấp các phương thức để quản lý chuyển đổi đến và từ các giá trị 64 bit.

Timestamp( { "t": , "i": } )

4
shell
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
3 accepted either a string or integer value. In

Timestamp( { "t": , "i": } )

5,
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
3 only accepts string values. Long() provides methods to manage conversions to and from 64-bit values.

Các giá trị thập phân128 () là các số điểm nổi dựa trên thập phân 128 bit mô phỏng độ tròn thập phân với độ chính xác chính xác. values are 128-bit decimal-based floating-point numbers that emulate decimal rounding with exact precision.

Chức năng này được dành cho các ứng dụng xử lý dữ liệu tiền tệ, chẳng hạn như tính toán tài chính, thuế và khoa học.monetary data, such as financial, tax, and scientific computations.

Loại

var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
6 BSON sử dụng định dạng đánh số điểm nổi của IEEE 754 Decimal128 hỗ trợ 34 chữ số thập phân (tức là các chữ số quan trọng) và phạm vi số mũ từ −6143 đến +6144.BSON type uses the IEEE 754 decimal128 floating-point numbering format which supports 34 decimal digits (i.e. significant digits) and an exponent range of −6143 to +6144.

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)

Ghi chú

Trong Legacy

Timestamp( { "t": , "i": } )

4 shell
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
3 đã chấp nhận một chuỗi hoặc giá trị số nguyên. Trong

Timestamp( { "t": , "i": } )

5,
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
3 chỉ chấp nhận các giá trị chuỗi. Long () cung cấp các phương thức để quản lý chuyển đổi đến và từ các giá trị 64 bit.MongoDB driver, be sure to use a driver version that supports it.

Các giá trị thập phân128 () là các số điểm nổi dựa trên thập phân 128 bit mô phỏng độ tròn thập phân với độ chính xác chính xác.

Chức năng này được dành cho các ứng dụng xử lý dữ liệu tiền tệ, chẳng hạn như tính toán tài chính, thuế và khoa học.BSON Timestamp internally in the oplog. The

ISODate("2012-12-19T06:01:17.171Z")

0 type works similarly to the Java Timestamp type. Use the Date type for operations involving dates.

Loại

var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
6 BSON sử dụng định dạng đánh số điểm nổi của IEEE 754 Decimal128 hỗ trợ 34 chữ số thập phân (tức là các chữ số quan trọng) và phạm vi số mũ từ −6143 đến +6144.

Timestamp( { "t": , "i": } )

Để sử dụng kiểu dữ liệu

var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
6 với trình điều khiển MongoDB, hãy chắc chắn sử dụng phiên bản trình điều khiển hỗ trợ nó.

Các giá trị của loại

var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
6 được so sánh và sắp xếp với các loại số khác dựa trên giá trị số thực tế của chúng. Các giá trị số của loại

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

3 dựa trên nhị phân thường có các biểu diễn gần đúng của các giá trị dựa trên thập phân và có thể không chính xác bằng các biểu diễn thập phân của chúng.

MongoDB sử dụng dấu thời gian BSON trong nội bộ trong oplog. Loại

ISODate("2012-12-19T06:01:17.171Z")

0 hoạt động tương tự như loại dấu thời gian Java. Sử dụng loại ngày cho các hoạt động liên quan đến ngày.

Chữ ký

ISODate("2012-12-19T06:01:17.171Z")

0 có hai tham số tùy chọn.

ISODate("2012-12-19T06:01:17.171Z")

2

Tham số

Loại hìnhUNIX epoch.

Mặc định

ISODate("2012-12-19T06:01:17.171Z")

3

Tham số

1

Loại hình

Mặc địnhTimestamp a New Document, Create a Custom Timestamp.

Sự định nghĩa

ISODate("2012-12-19T06:01:17.171Z")

6 query operator or examine the object constructor to determine types.

Số nguyên

Thời gian hiện tại kể từ thời đại unix.

Không bắt buộc. Một thời gian tính bằng giây.Type Checking with

Timestamp( { "t": , "i": } )

3 and Type Checking with a Constructor.

Không bắt buộc. Được sử dụng để đặt hàng khi có nhiều hoạt động trong một giây nhất định.

ISODate("2012-12-19T06:01:17.171Z")

3 không có tác dụng nếu được sử dụng mà không có

ISODate("2012-12-19T06:01:17.171Z")

2.

var myDateString = Date();

Để biết ví dụ sử dụng, hãy xem Timestamp một tài liệu mới, hãy tạo dấu thời gian tùy chỉnh.

Sử dụng toán tử truy vấn

ISODate("2012-12-19T06:01:17.171Z")

6 hoặc kiểm tra hàm tạo đối tượng để xác định các loại.

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

Toán tử JavaScript

ISODate("2012-12-19T06:01:17.171Z")

7 trả về các giá trị chung như

ISODate("2012-12-19T06:01:17.171Z")

8 hoặc

ISODate("2012-12-19T06:01:17.171Z")

9 thay vì

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

1 hoặc
var myDate = ISODate("2021-03-21T06:00:00.171Z")
Object.prototype.toString.call(myDate) === "[object Date]"
1 cụ thể hơn.

Toán tử

var myDate = ISODate("2021-03-21T06:00:00.171Z")
Object.prototype.toString.call(myDate) === "[object Date]"
2 của JavaScript không đáng tin cậy. Ví dụ:
var myDate = ISODate("2021-03-21T06:00:00.171Z")
Object.prototype.toString.call(myDate) === "[object Date]"
2 gán các giá trị BSON trong phản hồi máy chủ cho một lớp cơ sở khác với các giá trị do người dùng cung cấp.

Để biết các ví dụ sử dụng, hãy xem kiểm tra loại với

Timestamp( { "t": , "i": } )

3 và kiểm tra loại với hàm tạo.

Để trả về ngày làm chuỗi, hãy sử dụng phương thức

var myDateString = Date();

0, như trong ví dụ sau:

var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();

Bạn cũng có thể sử dụng toán tử

{ _id: 1, value: 1, expectedType: 'Int32' },
{ _id: 2, value: Long("1"), expectedType: 'Long' },
{ _id: 3, value: 1.01, expectedType: 'Double' },
{ _id: 4, value: Decimal128("1.01"), expectedType: 'Decimal128' },
{ _id: 5, value: 3200000001, expectedType: 'Double' }
6 với hàm tạo

var myDateString = Date();

3.

Để in giá trị của biến, hãy nhập tên biến trong shell, như trong phần sau:

Kết quả là giá trị

Timestamp( { "t": , "i": } )

2 của
{ _id: 1, value: 1, expectedType: 'Int32' },
{ _id: 2, value: Long("1"), expectedType: 'Long' },
{ _id: 3, value: 1.01, expectedType: 'Double' },
{ _id: 4, value: Decimal128("1.01"), expectedType: 'Decimal128' },
{ _id: 5, value: 3200000001, expectedType: 'Double' }
9 được bọc trong trình trợ giúp

var myDateString = Date();

3:

ISODate("2012-12-19T06:01:17.171Z")

Để xác minh loại:

var myDate = ISODate("2021-03-21T06:00:00.171Z")
Object.prototype.toString.call(myDate) === "[object Date]"

Hoạt động trả về

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
01.

Xem xét bộ sưu tập

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
02:

{ _id: 1, value: 1, expectedType: 'Int32' },
{ _id: 2, value: Long("1"), expectedType: 'Long' },
{ _id: 3, value: 1.01, expectedType: 'Double' },
{ _id: 4, value: Decimal128("1.01"), expectedType: 'Decimal128' },
{ _id: 5, value: 3200000001, expectedType: 'Double' }

Bảng này hiển thị kết quả của lệnh

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
03 cho
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
04 tương ứng. Các tên loại và bí danh được đưa ra trên trang BSON TYPE.BSON types page.

Truy vấn

Kết quả

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
0

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
1

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
2

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
3

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
4

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
5

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
6

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
7

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
8

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
9

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
0

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
1

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
2

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
3

Truy vấn

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
05 ngầm tìm kiếm đại diện

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

3 của
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
07. Tài liệu
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
08 là
var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
6 vì vậy nó không được chọn.

Tuy nhiên, lưu ý rằng

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
10 trả về cả hai loại

Wed Dec 19 2012 01:03:25 GMT-0500 (EST)

1 và
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
12.

Hãy xem xét bộ sưu tập

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
13. Bộ sưu tập này bao gồm hai tài liệu giống hệt nhau,
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
14. Tài liệu đầu tiên được tạo ra trong Shell Legacy

Timestamp( { "t": , "i": } )

4, tài liệu thứ hai được tạo vào

Timestamp( { "t": , "i": } )

5.

Chúng ta có thể sử dụng toán tử

ISODate("2012-12-19T06:01:17.171Z")

6 trong một đường ống tổng hợp để xem loại được gán trong mỗi vỏ.

ISODate("2012-12-19T06:01:17.171Z")

6
operator in an aggregation pipeline to see the type that was assigned in each shell.

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
4

Trong tài liệu đầu tiên, được tạo trong shell Legacy

Timestamp( { "t": , "i": } )

4, giá trị được lưu trữ dưới dạng
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
19. Trong tài liệu

Timestamp( { "t": , "i": } )

5, giá trị được lưu trữ dưới dạng loại
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
21.

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
5

Sử dụng

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
22 mà không có tham số để chèn nhiều tài liệu bằng cách sử dụng cài đặt mặc định:

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
6

Chạy

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
23 để xem dấu thời gian. Lưu ý rằng mặc dù cả ba mục được đóng dấu trong cùng một giây, khoảng thời gian này được tăng lên trên mỗi mục.

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
7

Sử dụng các tham số tùy chỉnh để chèn nhiều tài liệu với

ISODate("2012-12-19T06:01:17.171Z")

0 cụ thể.

Hoạt động này chèn ba tài liệu vào bộ sưu tập

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
25 và sử dụng giá trị Epoch UNIX
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
26 để đặt
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
27 lần thành 9:53 GMT vào ngày 1 tháng 8 năm 2021.UNIX epoch value
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
26 to set the
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
27 times to 9:53 GMT on August 1, 2021.

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
8

Các tài liệu kết quả trông như thế này:

db.types.insertOne(
{
"_id": 5,
"value": Decimal128("1"),
"expectedType": "Decimal128"
}
)
9

Toán tử truy vấn

ISODate("2012-12-19T06:01:17.171Z")

6 chấp nhận bí danh chuỗi hoặc mã số tương ứng với kiểu dữ liệu. Xem các loại BSON để biết danh sách các loại dữ liệu BSON và mã số tương ứng của chúng.

ISODate("2012-12-19T06:01:17.171Z")

6
query operator accepts either a string alias or a numeric code corresponding to the data type. See BSON Types for a list of BSON data types and their corresponding numeric codes.

Ví dụ: các kiểm tra này cho loại

var myDate = new Date();
var myDateInitUsingISODateWrapper = ISODate();
6 tương đương:

Timestamp( { "t": , "i": } )

0

Kiểm tra đối tượng

db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
30 để xác định loại. Ví dụ: đầu ra của
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
31 là
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
32.
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
31
is a
db.types.insertOne(
{
"_id": 3,
"value": Long("1"),
"expectedType": "Long"
}
)
32.

Timestamp( { "t": , "i": } )

1

Kiểu dữ liệu mã trong MongoDB là gì?

Mã - Kiểu dữ liệu này được sử dụng để lưu trữ mã JavaScript vào tài liệu.Biểu thức thông thường - Kiểu dữ liệu này được sử dụng để lưu trữ biểu thức chính quy.used to store JavaScript code into the document. Regular expression − This datatype is used to store regular expression.

Có bao nhiêu loại dữ liệu trong MongoDB?

Trong bài viết này, chúng tôi sẽ thảo luận về 16 loại dữ liệu khác nhau trong MongoDB: MongoDB Double, MongoDB String, MongoDB Object, MongoDB Array, MongoDB JavaScript với phạm vi, với các ví dụ của chúng.16 different Data Types in MongoDB: MongoDB Double, MongoDB string, MongoDB object, MongoDB array, MongoDB javascript with scope, with their examples.