天天看点

MongoDB时间加减操作记录

因业务需要,需要对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​​​​​​​