Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
$type
return một chuỗi chỉ định loại BSON của đối số.Returns a string that specifies the BSON type of the argument.
$type
có cú pháp biểu thức toán tử sau: has the following operator expression syntax:
Đối số có thể là bất kỳ biểu thức hợp lệ.
Mẹo
Xem thêm:
$isNumber
- Kiểm tra xem đối số là một số. Mới trong MongoDB 4.4$type [Query]
- Các trường lọc dựa trên loại BSON.
Không giống như toán tử truy vấn $type
, phù hợp với các phần tử mảng dựa trên loại BSON của chúng, toán tử tập hợp $type
không kiểm tra các phần tử mảng. Thay vào đó, khi được thông qua một mảng làm đối số của nó, toán tử tập hợp $type
trả về loại đối số, tức là
db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
0.$type
aggregation operator does not examine array elements. Instead, when passed an array as its argument, the $type
aggregation operator returns the type of the argument, i.e. db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
0.Nếu đối số là một trường bị thiếu trong tài liệu đầu vào, $type
sẽ trả về chuỗi
db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
2.$type
returns the string db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
2.Bảng sau đây cho thấy đầu ra $type
cho một số loại biểu thức phổ biến:$type
output for several common types of expressions:
|
| ||||||||||||
|
| ||||||||||||
|
| ||||||||||||
|
| ||||||||||||
|
| ||||||||||||
|
|
Ghi chú
Trong trường hợp của một mảng theo nghĩa đen như
{ _id: 0, "a" : "double" } { _id: 1, "a" : "array" } { _id: 2, "a" : "object" } { _id: 3, "a" : "string" } { _id: 4, "a" : "long" } { _id: 5, "a" : "missing" }
6, đặt biểu thức trong một bộ ngoặc mảng bên ngoài để ngăn MongoDB phân tích cú pháp { _id: 0, "a" : "double" } { _id: 1, "a" : "array" } { _id: 2, "a" : "object" } { _id: 3, "a" : "string" } { _id: 4, "a" : "long" } { _id: 5, "a" : "missing" }
6 như một danh sách đối số với ba đối số [{ _id: 0, "a" : "double" } { _id: 1, "a" : "array" } { _id: 2, "a" : "object" } { _id: 3, "a" : "string" } { _id: 4, "a" : "long" } { _id: 5, "a" : "missing" }
8]. Bao bọc mảng { _id: 0, "a" : "double" } { _id: 1, "a" : "array" } { _id: 2, "a" : "object" } { _id: 3, "a" : "string" } { _id: 4, "a" : "long" } { _id: 5, "a" : "missing" }
6 trong biểu thức $type
0 đạt được kết quả tương tự.Xem biểu mẫu cú pháp biểu thức toán tử để biết thêm thông tin.
Kép | 1 | "double" | |
Sợi dây | 2 | "string" | |
Sự vật | 3 | "object" | |
Mảng | 4 | "array" | |
Dữ liệu nhị phân | 5 | "binData" | |
Chưa xác định | 6 | "undefined" | Deprecated. |
ID đối tượng | 7 | "objectId" | |
Boolean | 8 | "bool" | |
Ngày | 9 | "date" | |
Vô giá trị | 10 | "null" | |
Biểu hiện thông thường | 11 | "regex" | |
DBPulum | 12 | "dbPointer" | Deprecated. |
JavaScript | 13 | "javascript" | |
Biểu tượng | 14 | "symbol" | Deprecated. |
Mã JavaScript có phạm vi | 15 | "javascriptWithScope" | Khấu hao trong MongoDB 4.4. |
Số nguyên 32 bit | 16 | "int" | |
Dấu thời gian | 17 | "timestamp" | |
Số nguyên 64 bit | 18 | "long" | |
Decimal128 | 19 | "decimal" | |
Khóa tối thiểu | -1 | "minKey" | |
Phím tối đa | 127 | "maxKey" |
Nếu đối số là một trường bị thiếu trong tài liệu đầu vào, $type
sẽ trả về chuỗi
db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
2.$type
returns the string db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
2.Bảng sau đây cho thấy đầu ra $type
cho một số loại biểu thức phổ biến:
{ _id: 0, a : 8 } { _id: 1, a : [ 41.63, 88.19 ] } { _id: 2, a : { a : "apple", b : "banana", c: "carrot" } } { _id: 3, a : "caribou" } { _id: 4, a : NumberLong[71] } { _id: 5 }
Thí dụ
db.coll.aggregate[[{ $project: { a : { $type: "$a" } } }]]
Kết quả
Ghi chú