結束連續三天陣列操作符的介紹,讓我們往下一個主題邁進,介紹日期時間相關的操作符,今天主要專注在取得一個日期資料中,它的年份、月份…等等相關的操作。
以一個日期的資料"2022-09-16T14:27:20.300Z"
來做舉例,列出比較常見的用法。
$year
:取得年份,現在是2022年,會回傳2022。$month
:取得月份,現在是9月,會回傳9。$dayOfMonth
:取得日期是幾號,因為是9/16,所以回傳16。$hour
:取得時間,因為是14:27:20.300,所以小時會顯示14。$minute
:取得時間,因為是14:27:20.300,所以分鐘會顯示27。$second
:取得時間,因為是14:27:20.300,所以秒數會顯示20。$millisecond
:取得時間,因為是14:27:20.300,所以毫秒數會顯示300。$dayOfYear
:計算從2022-01-01到2022-09-16經過幾天,結果會回傳259。$dayOfWeek
:計算2022-09-16會是星期幾,回傳格式是 1 (星期日) ~ 7 (星期六)$week
:計算從2022-01-01到2022-09-16經過幾週,結果會回傳37。
有了這些基本概念,我們可以來舉一個實務上可能會用到的情境。
例如:我們現在有多筆商品販售的資料。
經理希望我們分析每月的銷售狀況,並且進行排序,可以使用以下指令。
aggregate主要的流程是,先將price和amount相乘,計算每一筆訂單的消費金額,同時取得交易是在幾月進行,再利用月份進行分組,並且計算出每個月的銷售總合,最後在按照銷售額進行排序。
ps.如果想要提前了解更多日期時間操作符,可以參考官方文件,明天還會繼續介紹相關的應用。