因業務需要,需要對MongoDB的時間進行加減操作,現做個記錄。
db.getCollection("collections_name").aggregate( [
{$match: { dtime: { $lte: '2019-12-20' , $gte: '2019-12-20' }, app_id:{$in: [1,2]}, platform:{$in: [2,3]} } },
{
$project: {
dtime:1,
date1: { $dateFromString: { dateString: '$dtime', } }, //String 轉 date
date2: { $add : [ { $dateFromString: { dateString: '$dtime' } } , 3*24*60*60*1000 ] }, //時間加3天,對應的減三天采用 $subtract
date3: { $dateToString: { format: "%Y-%m-%d", date: { $dateFromString: { dateString: '$dtime' } } } }, //String轉時間,并按指定格式顯示
date4: { $dateToString: { format: "%Y-%m-%d", date: { $add : [ { $dateFromString: { dateString: '$dtime' } } , 3*24*60*60*1000 ] } } }, //加上指定時間,并按指定格式顯示
date5: {$max: '$dtime'} //檢視最大時間
}
}
] )
參考:
1. MongoDB 中的【加減乘除】運算
2. MongoDB手冊-dateFromString
3. MongoDB手冊-dateToString