MongoDB聚合运算符:$type

MongoDB聚合运算符:$type


$type聚合运算符用来返回指定参数的BSON类型的字符串。。

语法

{ $type: <expression> }
  • <expression>可以是任何合法的表达式。

使用

  • 不像查询操作符$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"

可用的类型

类型 数字 别名 说明
Double 1 “double”
String 2 “string”
Object 3 “object”
Array 4 “array”
Binary data 5 “binData”
Undefined 6 “undefined” 已废弃
ObjectId 7 “objectId”
Boolean 8 “bool”
Date 9 “date”
Null 10 “null”
Regular Expression 11 “regex”
DBPointer 12 “dbPointer” 已废弃
JavaScript 13 “javascript”
Symbol 14 “symbol” 已废弃
32-bit integer 16 “int”
Timestamp 17 “timestamp”
64-bit integer 18 “long”
Decimal128 19 “decimal”
Min key -1 “minKey”
Max key 127 “maxKey”

如果参数指定的字段在输入文档中不存在,$type返回"missing"

举例

coll集合包含了下面的文档:

{ _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 }

下面的聚合操作在$project阶段使用$type运算符显示字段a的类型。

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

执行的结果为:

{ "_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. MongoDB聚合运算符:$type

    2024-05-16 00:46:03       34 阅读
  2. MongoDB聚合运算符:$add

    2024-05-16 00:46:03       55 阅读
  3. MongoDB聚合运算符:$arrayToObject

    2024-05-16 00:46:03       52 阅读
  4. MongoDB聚合运算符;$dateToParts

    2024-05-16 00:46:03       53 阅读
  5. MongoDB聚合运算符:$dayOfWeek

    2024-05-16 00:46:03       54 阅读
  6. MongoDB聚合运算符:$dayOfMonth

    2024-05-16 00:46:03       51 阅读
  7. MongoDB聚合运算符;$dateToString

    2024-05-16 00:46:03       48 阅读
  8. MongoDB聚合运算符:$dayOfYear

    2024-05-16 00:46:03       48 阅读
  9. MongoDB聚合运算符:$denseRank

    2024-05-16 00:46:03       42 阅读
  10. MongoDB聚合运算符:$dateTrunc

    2024-05-16 00:46:03       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-16 00:46:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-16 00:46:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-05-16 00:46:03       82 阅读
  4. Python语言-面向对象

    2024-05-16 00:46:03       91 阅读

热门阅读

  1. ubuntu24.04安装ros

    2024-05-16 00:46:03       22 阅读
  2. 小白学dubbo傻冒连问-长连接篇

    2024-05-16 00:46:03       33 阅读
  3. Redis分布式锁【简单版】

    2024-05-16 00:46:03       35 阅读
  4. react框架对Excel文件进行上传和导出

    2024-05-16 00:46:03       33 阅读
  5. effective c++ 和 more effective c++中知识点

    2024-05-16 00:46:03       25 阅读
  6. 撒法发VS的广告

    2024-05-16 00:46:03       31 阅读
  7. 5.14学习总结

    2024-05-16 00:46:03       36 阅读
  8. css层叠样式表——基础css面试题

    2024-05-16 00:46:03       27 阅读
  9. enable_shared_from_this 实现原理

    2024-05-16 00:46:03       34 阅读
  10. 关键字标识

    2024-05-16 00:46:03       32 阅读
  11. PyTorch之list、ndarray、tensor数据类型相互转换

    2024-05-16 00:46:03       26 阅读