On this page本页内容
$type
¶New in version 3.4.版本3.4中的新功能。
Returns a string that specifies the BSON type of the argument.返回一个字符串,该字符串指定参数的BSON类型。
$type
has the following operator expression syntax:具有以下运算符表达式语法:
The argument can be any valid expression.参数可以是任何有效的表达式。
See also参阅
$isNumber
- $type (Query)
- $type
¶Unlike the $type
query operator, which matches array elements based on their BSON type, the $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. "array"
.
If the argument is a field that is missing in the input document, 如果参数是输入文档中缺少的字段,$type
returns the string "missing"
.$type
将返回字符串"missing"
。
The following table shows the 下表显示了几种常见表达式类型的$type
output for several common types of expressions:$type
输出:
{ $type: "a" } |
"string" |
{ $type: /a/ } |
"regex" |
{ $type: 1 } |
"double" |
{ $type: NumberLong(627) } |
"long" |
{ $type: { x: 1 } } |
"object" |
{ $type: [ [ 1, 2, 3 ] ] } |
"array" |
Note
In the case of a literal array such as [ 1, 2, 3 ]
, enclose the expression in an outer set of array brackets to prevent MongoDB from parsing [ 1, 2, 3 ]
as an argument list with three arguments (1, 2, 3
). Wrapping the array [ 1, 2, 3 ]
in a $literal
expression achieves the same result.
See operator expression syntax forms for more information.有关更多信息,请参阅运算符表达式语法形式。
Number | Alias | ||
---|---|---|---|
Double | 1 | “double” | |
String | 2 | “string” | |
Object | 3 | “object” | |
Array | 4 | “array” | |
Binary data | 5 | “binData” | |
Undefined | 6 | “undefined” | Deprecated. |
ObjectId | 7 | “objectId” | |
Boolean | 8 | “bool” | |
Date | 9 | “date” | |
Null | 10 | “null” | |
Regular Expression | 11 | “regex” | |
DBPointer | 12 | “dbPointer” | Deprecated. |
JavaScript | 13 | “javascript” | |
Symbol | 14 | “symbol” | Deprecated. |
JavaScript code with scope | 15 | “javascriptWithScope” | Deprecated in MongoDB 4.4. |
32-bit integer | 16 | “int” | |
Timestamp | 17 | “timestamp” | |
64-bit integer | 18 | “long” | |
Decimal128 | 19 | “decimal” | New in version 3.4. |
Min key | -1 | “minKey” | |
Max key | 127 | “maxKey” |
If the argument is a field that is missing in the input document, 如果参数是输入文档中缺少的字段,$type
returns the string "missing"
.$type
将返回字符串"missing"
。
This example uses a collection named 本例使用名为coll
with the following documents:coll
的集合和以下文档:
The following aggregation operation uses the 以下聚合操作使用$type
operator to display the type of field a
for all documents as part of the $project
stage.$type
运算符显示所有文档的字段a
的类型,作为$project
阶段的一部分。
The operation returns the following:该操作返回以下内容: