MongoDB-数据类型转换操作符

数据类型转换操作符

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

$convert 格式

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

示例

  • 添加测试数据
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'},
])
  • 运用
db.person.aggregate([
    {$project:{
        _id:0,
        timestamp:{
            $convert:{
                input:'$timestamp',
                to:'date',
                onError: '不支持的转换类型',
                onNull: '没有需要转换的数据'
            }
        }
    }}
])
posted @   BNTang  阅读(699)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示