在MongoDB中new date()
出来的ISODate()
都是毫秒级的,如下图所示:
可是在有时的项目中需要用到秒级,笔者的做法是利用$dateTostring
和$dateFromString
,首先用dateTostring
将ISODate
数据转换成字符串,再用$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'
}
}
}
}
},
})
结果输出: