被MongoDB用Aggregate暴打的後端小菜雞日記-day1 序言

鰻魚燒
Sep 1, 2022

--

嗨!!大家好,我是剛轉職成後端工程師的鰻魚燒

會想寫這一系列的文章主要是因為,在開發公司專案的時候,才發現原來MongoDB的Aggregate竟然如此強大,可以在搜尋時同時做到計算、統整資料,甚至可以拉其他collection的資料一起使用,個人覺得使用上跟MySQL的join、sum、group很多操作都蠻像的,只是在語法上的寫法有些不同。

第一次使用時,也踩過不少的坑,很常遇到我明明就按照官方文件寫,但為啥結果不符合預期,為什麼終端機又噴錯,因此邊開發邊做筆記紀錄,避免下次再踩同樣的坑害死自己。

同時感嘆當初在寫第一份作品集時,我竟然只用find、create、update這些基本指令,然後將資料撈出來自己慢慢算XD,默默寫完一個記帳本專案。

在此跟大家分享一下,aggregate常用的資料整理方式,以及會使用到的aggregation pipeline operators,主要都是分享我自己曾經使用過的語法,至於沒用過或是比較冷門的operators應該會被我跳過。

如果有認真看過MongoDB的官方文件,就會發現到MongoDB提供的operators真的有很多種類,如果對aggregation有興趣的話,蠻推薦大家到MongoDB官方文件看一下,每個語法都很貼心的附上使用範例。

P.S 由於是第一次參加鐵人賽的關係,有點不確定aggregate到底可以寫幾篇文章,如果寫不到30篇的話,應該會以番外篇的形式補充bulkWrite、findOneAndUpdate、index這些我覺得在MongoDB也很好用的功能。

希望能順利完賽,本來想囤稿的,結果到開賽時只囤一天份,好刺激啊

想看更多鐵人賽文章,可以點擊下方目錄

--

--

鰻魚燒

剛轉職成後端工程師的小菜雞,分享自己的學習筆記