MongoDB-数据类型转换操作符

2023-09-26 22:46:25 浏览数 (1)

数据类型转换操作符

?> MongoDB 对于文档的格式并没有强制性的要求, 同一个集合中存储的文档, 字段的个数和数据类型都可以不同, 对与文档的格式没有强制性的要求是 MongoDB 的一大优势, 但是同时也增加了数据消费端的使用难度, 因为我们在使用数据的时候, 有可能同一个字段取出来的数据类型是不同的, 这样非常不利于我们后续操作, 所以也正是因为如此, MongoDB 在 4.0 中 推出了 $convert 数据类型转换操作符, 通过 $convert 数据类型转换操作符, 我们可以将不同的数据类型转换成相同的数据类型, 以便于后续我们在使用数据的过程中能够统一对数据进行处理

$convert 格式

代码语言:text复制
{$convert:{
    input: '需要转换的字段',
    to: '转换之后的数据类型',
    onError: '不支持的转换类型',
    onNull: '没有需要转换的数据'
}}

示例

  • 添加测试数据
代码语言:json复制
db.person.insert([
    {name:'zs', timestamp:ISODate('2020-08-09T11:23:34.733Z')},
    {name:'ls', timestamp:'2021-02-14 12:00:06  0800  '},
    {name:'ww', timestamp:'  2023-04-01T12:00:00Z'},
    {name:'zl', timestamp:'1587009270000'},
    {name:'BNTang', timestamp:'Sunday'},
    {name:'XiaoHuihui'},
])
  • 运用
代码语言:json复制
db.person.aggregate([
    {$project:{
        _id:0,
        timestamp:{
            $convert:{
                input:'$timestamp',
                to:'date',
                onError: '不支持的转换类型',
                onNull: '没有需要转换的数据'
            }
        }
    }}
])

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

0 人点赞