Hướng dẫn mongodb type aggregate - loại mongodb tổng hợp

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Show
    $type return một chuỗi chỉ định loại BSON của đối số.
    Hướng dẫn mongodb type aggregate - loại mongodb tổng hợp

    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:

    Thí dụ

    Kết quả

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    4

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    5

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    6

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    7

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    8

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    9

    { _id: 0, "a" : "double" }
    { _id: 1, "a" : "array" }
    { _id: 2, "a" : "object" }
    { _id: 3, "a" : "string" }
    { _id: 4, "a" : "long" }
    { _id: 5, "a" : "missing" }
    0

    { _id: 0, "a" : "double" }
    { _id: 1, "a" : "array" }
    { _id: 2, "a" : "object" }
    { _id: 3, "a" : "string" }
    { _id: 4, "a" : "long" }
    { _id: 5, "a" : "missing" }
    1

    { _id: 0, "a" : "double" }
    { _id: 1, "a" : "array" }
    { _id: 2, "a" : "object" }
    { _id: 3, "a" : "string" }
    { _id: 4, "a" : "long" }
    { _id: 5, "a" : "missing" }
    2

    { _id: 0, "a" : "double" }
    { _id: 1, "a" : "array" }
    { _id: 2, "a" : "object" }
    { _id: 3, "a" : "string" }
    { _id: 4, "a" : "long" }
    { _id: 5, "a" : "missing" }
    3

    { _id: 0, "a" : "double" }
    { _id: 1, "a" : "array" }
    { _id: 2, "a" : "object" }
    { _id: 3, "a" : "string" }
    { _id: 4, "a" : "long" }
    { _id: 5, "a" : "missing" }
    4

    db.coll.aggregate([{
    $project: {
    a : { $type: "$a" }
    }
    }])
    0

    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 $type0 đạ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.

    Loại hình

    Con số

    Bí danh

    Ghi chú

    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ú