iT邦幫忙

2024 iThome 鐵人賽

DAY 8
0

哈囉大家好!我是 2魚,歡迎來到鐵人賽第八天的資料庫冒險!昨天我們學習了如何規劃資料表,今天我們要更進一步,實際動手把我們的鸚鵡食堂搬進雲端啦!我們將使用 MongoDB Atlas 和 Compass 這兩個超級好用的工具,來建立我們的資料管理系統。不用擔心,即使你是資料庫新手,跟著我的步驟來,也能輕鬆駕馭這些強大的工具。準備好要讓你的鸚鵡食堂起飛了嗎?Let's go!

在上一篇文章中,我們學習了如何規劃資料表。

附上昨天的實踐練習答案:

KEY 英文欄位名稱 中文欄位名稱 型態 必填 預設值 備註
PK _id ID ObjectID v MongoDB自動生成
name 食物名稱 String v
description 說明 String
calories 卡路里 Number v 每100克
fat 脂肪 Number v 克/100克
protein 蛋白質 Number v 克/100克
carbs 碳水化合物 Number v 克/100克
maxDailyAmount 每日最大食用量 Number v 克/天
createdAt 創建時間 Date v now

這個鸚鵡食物集合的設計考慮了以下幾個要素:

  1. 基本資訊完整性:
    • 包含了食物的名稱、描述等基本資訊,確保使用者能夠清楚識別每種食物。
    • 創建時間欄位有助於追蹤資料的新增時間。
  2. 營養資訊的標準化:
    • 營養成分(卡路里、脂肪、蛋白質、碳水化合物)均以每100克為單位,這樣的標準化有助於不同食物間的比較。
    • 選擇了鸚鵡飼養中最關鍵的幾個營養指標,確保資訊既全面又不過於複雜。
  3. 安全性考量:
    • 加入了每日最大食用量欄位,這對於鸚鵡的健康飲食極為重要,可以幫助飼主避免過量餵食。
  4. 資料完整性:
    • 將重要欄位(如名稱、營養成分、每日最大食用量)設為必填,確保核心資訊的完整性。
  5. 擴展性:
    • 雖然目前欄位相對簡單,但這個結構為將來可能的擴展(如添加更多營養成分、適用鸚鵡品種等)預留了空間。
  6. MongoDB特性應用:
    • 利用MongoDB的自動生成ID特性,簡化了主鍵的管理。
    • 使用了多種MongoDB支援的資料類型,如String、Number、Date等,充分利用了MongoDB的靈活性。

接著進入正題囉 ~


今天,我們要用 MongoDB Atlas 和 Compass 來建立鸚鵡食堂的資料管理系統。這兩個工具會讓我們的資料管理變得更簡單。
注意:在這個教學中,我們不會涉及本地端 MongoDB 的安裝和操作。我們直接使用雲端服務,這樣可以省去配置本地環境的複雜步驟。

MongoDB Atlas:雲端資料庫服務

MongoDB Atlas 是 MongoDB 官方的雲端服務。選擇 Atlas 有幾個好處:

  1. 不用自己管理伺服器
  2. 可以隨著需求增加或減少資源
  3. 有免費方案可以使用

部署步驟:

  1. 註冊 MongoDB Atlas 帳號(可以使用 Google 帳號快速註冊)
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686zWlT5cI5U9.png
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686tg78JYhof2.png
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686pf1M4aD9jO.png

  2. 創建一個新的集群(Cluster)
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686lzuZmbvJUF.png
    https://ithelp.ithome.com.tw/upload/images/20240917/201596865G1jPCyZ3R.png

  3. 設置資料庫用戶和網路訪問權限
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686Lc07Ogb1xl.png
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686JJzxsonUPY.png

  4. 使用 Compass 連接 MongoDB Atlas

    1. 下載並安裝 MongoDB Compass

    2. 在 Cluster0 中點擊 "Connect" 按鈕
      https://ithelp.ithome.com.tw/upload/images/20240917/20159686xnNji1jJ6N.png

    3. 選擇 Compass 連接方式
      https://ithelp.ithome.com.tw/upload/images/20240917/201596861SSZaFTAGV.png
      https://ithelp.ithome.com.tw/upload/images/20240917/20159686v1AJx4OoR8.png

  5. 打開 MongoDB Compass,進行連接
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686XcUVZbsjHL.png

  6. 連接成功(今天的教學到此為止,之後的實戰中我們會繼續使用)
    https://ithelp.ithome.com.tw/upload/images/20240917/20159686wIILz1mHrz.png

MongoDB Compass:資料庫管理工具

MongoDB Compass 是一個圖形化的管理工具,就像是我們資料庫的儀表板。它讓我們可以直觀地操作和管理資料,不需要寫複雜的指令。

主要功能:

  1. 瀏覽和編輯資料:
    • 點擊集合名稱,就能看到裡面所有的文檔。
    • 雙擊任何文檔,可以直接修改內容。
  2. 執行查詢:
    • 使用 Compass 的查詢編輯器,可以輕鬆寫出複雜的查詢。
  3. 分析資料庫性能:
    • 在 "Performance" 標籤頁可以看到資料庫的運行狀況。
    • 觀察查詢時間,找出需要優化的地方。
  4. 管理索引和用戶:
    • 在 "Indexes" 標籤頁可以創建和管理索引,加速查詢。
    • "Users" 部分允許我們管理資料庫用戶,控制訪問權限。
  5. 資料可視化:
    • 使用 "Charts" 功能,可以將數據轉換成圖表,直觀地看出數據趨勢。

接下來動手玩玩看 Compass 吧

新增資料表

https://ithelp.ithome.com.tw/upload/images/20240917/20159686Khe4Y6izcW.png
https://ithelp.ithome.com.tw/upload/images/20240917/20159686qSOgrzjD5x.png
https://ithelp.ithome.com.tw/upload/images/20240917/20159686exAuMdrPVR.png

新增一筆資料

https://ithelp.ithome.com.tw/upload/images/20240917/201596861zlcdKpPUV.png
範例是手 key 新增資料,
當然也有提供匯入資料 (import JSON or CSV file)

這邊使用昨天我們設計的食物結構作為範例資料:

{
  "_id": {
    "$oid": "66bf8246f3acda432feda6b8"
  },
  "name": "向日葵籽",
  "description": "營養豐富的鸚鵡零食",
  "calories": 584,
  "fat": 51,
  "protein": 21,
  "carbs": 20,
  "maxDailyAmount": 10
}

https://ithelp.ithome.com.tw/upload/images/20240917/20159686ITGrFDDhm0.pnghttps://ithelp.ithome.com.tw/upload/images/20240917/2015968680omq1AI4v.png

編輯/刪除資料

滑鼠懸浮在資料上時會顯示功能按鈕,都可以動手玩玩看哦
https://ithelp.ithome.com.tw/upload/images/20240917/2015968653LBsMpBbV.png


結語

哇,今天我們真的完成了一件大事呢!我們不僅成功地將鸚鵡食堂的資料庫部署到了雲端,還學會了使用 MongoDB Compass 這個超級好用的工具。有了它,管理我們的資料就像是在照顧一群快樂的鸚鵡一樣輕鬆愉快。
回顧一下,我們學會了如何設置 MongoDB Atlas,如何連接 Compass,還親手新增了我們的第一筆資料。這些技能不只適用於這個專案,在未來的開發工作中也一定會派上大用場!
準備好開始下一階段的學習了嗎?讓我們一起繼續這段有趣的資料庫冒險吧!如果你對今天的內容有任何疑問,或是想分享你的資料庫使用經驗,歡迎在下方留言喔!我們明天見啦,掰掰~
(對了,如果你覺得今天的內容對你有幫助,別忘了給個讚支持一下喔!這會是我繼續努力的動力呢~)


上一篇
[ DAY7 ] 資料管理新手村:MongoDB 結構設計初體驗
下一篇
[ DAY9 ] 資料庫填充秘笈:AI 助手、JSON 轉換與 Compass 完美配合
系列文
房東不給養鸚鵡 - 那就用 Nuxt + Express + MongoDB 30 天寫一個全端鸚鵡專案18
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言