$type
¶与$type
查询运算符基于数组的BSON类型匹配数组元素不同,$type
聚合运算符不检查数组元素。相反,当传递数组作为参数时,$type
聚合运算符将返回参数的类型,即"array"
。
如果参数是输入文档中缺少的字段,则
$type
返回字符串"missing"
。
下表显示了$type
几种常见类型的表达式的输出:
例 | 结果 |
---|---|
{ $type: "a" } |
"string" |
{ $type: /a/ } |
"regex" |
{ $type: 1 } |
"double" |
{ $type: NumberLong(627) } |
"long" |
{ $type: { x: 1 } } |
"object" |
{ $type: [ [ 1, 2, 3 ] ] } |
"array" |
注意
对于诸如的文字数组,请将表达式括在一组外部的数组括号中,以防止MongoDB解析
为
带有三个参数()的
参数列表。将数组包装
在表达式中可获得相同的结果。[ 1, 2, 3 ]
[ 1, 2, 3 ]
1, 2, 3
[ 1, 2, 3 ]
$literal
有关更多信息,请参见运算符表达式语法形式。
类型 | 数 | 别名 | 笔记 |
---|---|---|---|
双 | 1个 | “双” | |
串 | 2 | “串” | |
宾语 | 3 | “宾语” | |
数组 | 4 | “数组” | |
二进制数据 | 5 | “ binData” | |
未定义 | 6 | “未定义” | 不推荐使用。 |
对象编号 | 7 | “ objectId” | |
布尔型 | 8 | “布尔” | |
日期 | 9 | “日期” | |
空值 | 10 | “空值” | |
正则表达式 | 11 | “正则表达式” | |
DBPointer | 12 | “ dbPointer” | 不推荐使用。 |
的JavaScript | 13 | “ javascript” | |
符号 | 14 | “符号” | 不推荐使用。 |
JavaScript(带作用域) | 15 | “ javascriptWithScope” | |
32位整数 | 16 | “ int” | |
时间戳记 | 17 | “时间戳” | |
64位整数 | 18岁 | “长” | |
小数128 | 19 | “十进制” | 3.4版的新功能。 |
最小键 | -1 | “ minKey” | |
最大键 | 127 | “ maxKey” |
如果参数是输入文档中缺少的字段,则
$type
返回字符串"missing"
。