MongoDB 把毫秒级时间修改为秒级时间

在MongoDB中new date()出来的ISODate()都是毫秒级的,如下图所示:

可是在有时的项目中需要用到秒级,笔者的做法是利用$dateTostring$dateFromString,首先用dateTostringISODate数据转换成字符串,再用$dateFromString将字符串转换为字符串转换为ISODate,其中最重要的是dateTostring$dateFromString中的format:"%Y-%m-%d %H:%M:%S"

db.mytest.aggregate({
    $addFields:{
        dataString:{
            $dateFromString:{
                format:"%Y-%m-%d %H:%M:%S",
                dateString:{
                    $dateToString:{
                        format:"%Y-%m-%d %H:%M:%S",
                        date:'$date'
                    }
                }
            }
        }    
    },                    
})

结果输出:

-------------本文结束感谢您的阅读-------------