$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"。