學MongoDB的霧煞煞心得+基本差異整理

更新 發佈閱讀 5 分鐘

原本學SQL的時候,心想:原來這就是資料庫啊!太燒腦了吧(以前怎麼傻傻的以為Excel就夠用了)
結果後來老師說,還有NoSQL喔!那我們來下載MongoDB吧!
簡直是晴天霹靂,我的Notion筆記已經長到可以用滑鼠滾輪往下滾20下還沒結束🥲

MongoDB…我還去查了正確發音:https://www.youtube.com/watch?v=WyA82fatN6A

真的是令我一頭霧水,特別是跟上週學的關聯式資料庫差異很大。
一開始搞不清楚哪時候該用什麼符號,整個人卡在這些神秘符號裡:
-什麼時候該用 { } 大括號?有時大括號裡又有大括號,到底要包幾個?
-什麼時候用 [ ] 中括號?
-單引號’ ’好多!
-還有$符號,到底…
-還有Add Stage?!?!pipeLine?!?!
-還有讀寫資料(甚至MP3、圖片、影片也可以)

感覺就像打開了一本魔法書,裡面全是咒語,超難懂。(應該說眼睛看懂了,腦子跟不上🥲)

raw-image

接著我發現MongoDB跟Python也不太一樣,雖然文件的概念有點像Python裡的字典,但MongoDB的查詢語法還多了很多特殊符號跟操作指令。像Python的dict和list好不容易熟悉了,結果看到{ }跟[ ]在MongoDB又變成其他用法(救命)MongoDB還有$gt、$regex、$set…這種符號來下條件,燒腦了。

然後Compass的介面也需要再熟悉,偶爾也要用到shell,於是就這樣在Compass、shell、VS CODE還有我的Notion筆記之間華麗切換✨

MongoDB 常見 $ 符號整理

MongoDB 主要用 $ 符號在兩大地方:
-查詢條件與更新操作的運算符
-聚合管線 (Aggregation Pipeline) 階段與操作符

1. 查詢與更新常用的 $ 運算符

raw-image

更新操作符

raw-image

2. 聚合 $ 符號
管線階段 (pipeline stages)

raw-image

聚合表達式 (aggregation expressions)

raw-image

❓MongoDB Pipeline 是什麼

MongoDB 的 pipeline 就是一串「資料處理步驟」,資料會像流水線一樣,從第一個步驟開始,經過一個接一個的處理,最後吐出你想要的結果。

每個步驟都叫做一個 stage(階段),stage 用 $ 開頭像 $match、$group、$sort 等等。每個階段都會對文件做操作,比如:

-篩選($match)
-分組($group)
-排序($sort)
-拆解陣列($unwind)

然後下一個階段會拿前面處理完的結果繼續處理。(所以stage如果用不到就要刪掉,不然會影響到結果!)

譬如,我想買咖啡,流程是:

-挑豆子(篩選出好豆) → $match
-把豆子磨粉 → $project
-分批包裝(分組統計) → $group
-排隊出貨 → $sort

資料按照一個個stage過關,最後變成我們想要的「乾淨結果」。
一次串接多個操作,不用一個步驟一個步驟慢慢跑,可以做統計、轉換、展開陣列等比較複雜的分析!

總結

  • 查詢、過濾、更新常用 $ 運算符
  • 聚合管線階段跟表達式都用 $ 開頭
  • 陣列操作符特別多,推陣列、拉陣列用 $push、$pull 等

為了避免搞混,我試了這幾招:

  1. 分清「語言」與「資料結構」的界線
  • 把 Python 當作「程式語言」,MongoDB 查詢語法當成「資料庫的查詢語言」。
  • 兩者用處不同,並不是完全使用 Python 思維寫 MongoDB 查詢。

2. 用類比幫助理解

  • 把 MongoDB 文件想像成「Python 裡的 dict,但更像一份資料清單」。
  • 把 $gt 等符號想成資料庫的關鍵字,而不是 Python 裡的函式。

3. 多寫多試,讓手感帶動腦袋

  • 把理論放一邊,直接用 pymongo 嘗試增刪查改。
  • 遇到不懂的指令,查官方文件、看範例,邊改邊跑。

4. 保持耐心,允許自己「一時混亂」

  • 這種思維切換一開始一定會不順,給自己時間慢慢適應。
  • 想到小時候連注音符號都認不得時,卻會背弟子規,之後就慢慢能理解意涵了✨

基本差異整理

raw-image


留言
avatar-img
Galing的腦內劇場
2會員
15內容數
學習AI的新手,在這邊分享學習筆記跟知識,希望文組轉戰AI也可以闖出一片天💪 大學學的是戲劇,擁有服務業12年經驗,擔任銷售顧問;2025.07開始學習python與AI商業應用,目標是讓職涯變得更自由有彈性,做出好玩有趣的東西! 💬喜歡打電動、看動畫、K-pop佛系追星,偶爾可能會出現這些主題的文章。
Galing的腦內劇場的其他內容
2025/08/09
(本篇為心得分享,不是教學文唷> <) 曾經在網路上看到一段話,原文找不到,大意大概是:「現代人一天接觸到的訊息量,比中世紀的人一輩子接觸到的還多。」,雖然不確定怎麼研究出這個數據的,不過的確很符合現在的世代呀!
Thumbnail
2025/08/09
(本篇為心得分享,不是教學文唷> <) 曾經在網路上看到一段話,原文找不到,大意大概是:「現代人一天接觸到的訊息量,比中世紀的人一輩子接觸到的還多。」,雖然不確定怎麼研究出這個數據的,不過的確很符合現在的世代呀!
Thumbnail
2025/08/08
學習Python大概一個半月了,老師出Leetcode上的Valid Sudoku當作業給我們練習,也就是寫出一隻程式,檢查9X9的數獨直排、橫排、小宮格是否合理。我覺得是一個很棒的綜合練習!
Thumbnail
2025/08/08
學習Python大概一個半月了,老師出Leetcode上的Valid Sudoku當作業給我們練習,也就是寫出一隻程式,檢查9X9的數獨直排、橫排、小宮格是否合理。我覺得是一個很棒的綜合練習!
Thumbnail
2025/08/06
Storybook啟動方式超簡單! 進入連結後按Start Story,接著會看到一個輸入框,提示你輸入一段故事開頭或主題。 prompt建議:給它目標對象、故事情節、插畫風格、故事基調 然後按下「Submit」,大概等待3分鐘,10頁繪本就完成了。
Thumbnail
2025/08/06
Storybook啟動方式超簡單! 進入連結後按Start Story,接著會看到一個輸入框,提示你輸入一段故事開頭或主題。 prompt建議:給它目標對象、故事情節、插畫風格、故事基調 然後按下「Submit」,大概等待3分鐘,10頁繪本就完成了。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
只需要一個資料庫就可以做到各種不同的用途顯示 像紙本的五年手帳一樣,可以自動回顧「過去的今天」的日記模板要如何設定? 函數設定的思路與教學都在這邊了! 免費日記模板下載
Thumbnail
只需要一個資料庫就可以做到各種不同的用途顯示 像紙本的五年手帳一樣,可以自動回顧「過去的今天」的日記模板要如何設定? 函數設定的思路與教學都在這邊了! 免費日記模板下載
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
※ 為什麼選擇SQLite? 安裝簡單:SQLite是一個零配置的資料庫,不需要複雜的設定和安裝過程。。 使用SQL語法。 設計選擇多元性(MySQL / SQLite):適合於小零件資料應用、嵌入式系統、物聯網設備。 ※ SQLite四大優點: 執行檔檔案很小:資料庫系統需要的磁碟空
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
這篇文章主要是介紹了SQL查詢效能調校的方法,針對索引最佳化做了整理和分享,並提供了一些注意事項和建議。
Thumbnail
學習如何使用Python連接MongoDB進行憑證監控,包括建立MongoDB docker-compose、連接MongoDB、讀取yaml並寫入MongoDB、傳入env以及domain寫入MongoDB、讀取MongoDB、修改MongoDB、刪除MongoDB。
Thumbnail
學習如何使用Python連接MongoDB進行憑證監控,包括建立MongoDB docker-compose、連接MongoDB、讀取yaml並寫入MongoDB、傳入env以及domain寫入MongoDB、讀取MongoDB、修改MongoDB、刪除MongoDB。
Thumbnail
本文主要在討論以 Docs as Code 方法來撰寫技術文件,此做法能否滿足企業內部對知識管理的需求。
Thumbnail
本文主要在討論以 Docs as Code 方法來撰寫技術文件,此做法能否滿足企業內部對知識管理的需求。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
Thumbnail
本篇文章將教你如何在Kubernetes cluster內部署一個MongoDB,包括取得Manifests、建立Volume、部署實務、基本操作和結論。透過操作演示,讓你瞭解在實務上如何成功建立MongoDB,並進行基本操作。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News