MongoDB 簡介與安裝

閱讀時間約 3 分鐘

MongoDB 簡介

MongoDB是一種開源的NoSQL文件資料庫(Document Database),MongoDB中可以有多個Database,每個Database中可以有多個Collection,每個Collection中可以有多個Document。
若以關聯式資料庫來比喻,Collection=Table、Document=Row Record,用這樣來理解會比較好懂。
在RDBMS世界中,在儲存資料之前必須先定義好Schema,建立Table、設定好需要的欄位名稱、型別等等。而在MongoDB世界中,Collection不需要事先定義Schema,不用事先開好Collection,Collection中的每筆Document的欄位數量也是可以動態增減的,因此彈性很高。
  • Document的儲存結構是key-value pair的BSON格式,BSON是一種基於JSON的格式。
MongoDB常被使用在開發需求尚不明確的應用,因為無法預先明確定義好Schema,這種場景就很適合使用MongoDB,很適合用來快速開發,降低開發成本。
另外,MongoDB具備處理大量資料的特性,如果應用場景需要查詢大量資料(TB、PB等級以上),且資料之間不須複雜的join關聯,那也是很適合的場景。

Windows 安裝 MongoDB

官網下載區下載MongoDB Community Server版本
選用 Run service as Network Service user 把MongoDB安裝成windows service,安裝完成後會自動啟動。
MongoDB Compass是官方的圖形管理工具,這邊先不安裝,因為後續我會安裝Studio 3T來做GUI管理工具。
安裝完成後,在工作管理員中的windows服務可以看到MongoDB服務已啟動。
在MongoDB bin安裝目錄中下指令,確認是否安裝成功:
./mongod --version
從windows的資源監視器可以看到MongoDB預設是使用27017 port。

安裝 Studio 3T

從官網robomongo來下載安裝:
打開後須先註冊登入,可以免費試用30天。
接著New Connection:
連線後,這邊新增一個test collection來玩玩,如下圖,按右鍵Document-> Insert Document,可以新增一筆資料:
接著,再新增一筆Document,這次只有放phone欄位:
可以發現,欄位是可以自由新增的,欄位名稱、內容都可以直接Edit,自由度相當高,無須預先定義欄位。

新增Database
為什麼會看到廣告
21會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!
Vic Lin的沙龍 的其他內容
在Laravel中想達到websocket效果,由後端主動傳訊給前端,需使用broadcasting 將event廣播出去,由前端來接收訊息。 因此在業界常看到使用Redis + socket.io的架構,也是本篇選擇的機制。 從伺服器廣播訊息到前端接收的流程,大概會是這樣: 安裝與設定Redis
比如訂單出貨的時候,觸發一個訂單出貨事件,發送出貨email通知給user。 需先註冊event與listener,在EventServiceProvider的$listen中定義: 產生event與listener: 下指令可以方便產生事件與監聽器檔案: 產生的事件與監聽器如下: 事件訂閱者
假設有一張表,儲存一個iPhone商品跟剩餘庫存量。 如果商品庫存剩1個,明明是A先買到,這時候就已經沒庫存了,可是系統卻告訴B恭喜你搶到了,這種情況就更糟糕了,只剩下一支iPhone,卻跟兩個人(甚至更多人)都說有買到,也就是發生所謂的超賣問題。 悲觀鎖 Pessimistic Lock
Swoole是一個使用C語言寫出來的PHP extension,本篇筆記了如何使用Laravel+Swoole來打造websocket應用,包含從伺服器安裝到基本範例程式,有websocket基本觀念後,再花點時間,就能把程式改成多人聊天室或私頻聊天等應用了。 Requirement 安裝PHP:
Laravel Notifications(通知),是用來通知使用者應用程式訊息的功能,比如付款完成發送email或簡訊通知使用者,文章被訂閱通知等等。Notifications甚至還可以把通知訊息塞進DB,可以用來顯示在後台報表頁面中。 以下以發送email通知來舉例用法。 建立通知 發送通知
Composer是PHP的軟體包管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。(引用自維基百科) composer install composer update 這個指令會更新composer.json中指定的套件版本,比如在require中這樣寫: 但如果是這樣: 本筆記參考:
在Laravel中想達到websocket效果,由後端主動傳訊給前端,需使用broadcasting 將event廣播出去,由前端來接收訊息。 因此在業界常看到使用Redis + socket.io的架構,也是本篇選擇的機制。 從伺服器廣播訊息到前端接收的流程,大概會是這樣: 安裝與設定Redis
比如訂單出貨的時候,觸發一個訂單出貨事件,發送出貨email通知給user。 需先註冊event與listener,在EventServiceProvider的$listen中定義: 產生event與listener: 下指令可以方便產生事件與監聽器檔案: 產生的事件與監聽器如下: 事件訂閱者
假設有一張表,儲存一個iPhone商品跟剩餘庫存量。 如果商品庫存剩1個,明明是A先買到,這時候就已經沒庫存了,可是系統卻告訴B恭喜你搶到了,這種情況就更糟糕了,只剩下一支iPhone,卻跟兩個人(甚至更多人)都說有買到,也就是發生所謂的超賣問題。 悲觀鎖 Pessimistic Lock
Swoole是一個使用C語言寫出來的PHP extension,本篇筆記了如何使用Laravel+Swoole來打造websocket應用,包含從伺服器安裝到基本範例程式,有websocket基本觀念後,再花點時間,就能把程式改成多人聊天室或私頻聊天等應用了。 Requirement 安裝PHP:
Laravel Notifications(通知),是用來通知使用者應用程式訊息的功能,比如付款完成發送email或簡訊通知使用者,文章被訂閱通知等等。Notifications甚至還可以把通知訊息塞進DB,可以用來顯示在後台報表頁面中。 以下以發送email通知來舉例用法。 建立通知 發送通知
Composer是PHP的軟體包管理系統,它提供用於管理PHP軟體和依賴庫關係的標準格式。(引用自維基百科) composer install composer update 這個指令會更新composer.json中指定的套件版本,比如在require中這樣寫: 但如果是這樣: 本筆記參考:
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
加入免費👉Discord群組接收每日市場要聞、經濟數據和文章更新通知。
Thumbnail
本文介紹如何使用 TG Bot 來操作 MongoDB,包括讀取所有 domain、讀取特定 domain、新增 domain、批量新增 domain、修改 domain 和刪除 domain。透過 TG Bot 的指令操作,實現了自動化管理和多環境管理。
Thumbnail
加入免費👉Discord群組接收每日市場要聞、經濟數據和文章更新通知。
Thumbnail
加入免費👉Discord群組接收每日市場要聞、經濟數據和文章更新通知。
Thumbnail
我持有MDB多年,是目前持倉中回報最豐厚的股票之一。本次財報發布後,其股價似乎又要往上突破,證明前面撰寫的分析正確,即隨著Atlas佔MDB營收過半且增長加速,MDB的財報應該會愈來愈好;及隨著疫情結束,對MDB這類公司來說也只是榮景的開端。本文除了分析財報,也會補充些我看好它能長期增長的原因。
Thumbnail
在了解MDB這家公司的時候,不能只看Atlas,即使它佔MDB總營收比例已經逾半。前面MDB的傳統業務不但是其另一半營收的來源,更重要的是,它也是形構其商業模式的關鍵。雖然很明顯傳統業務的營收增長率比不上Atlas,但卻是理解其行銷和擴展業務思路的關鍵所在。
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
加入免費👉Discord群組接收每日市場要聞、經濟數據和文章更新通知。
Thumbnail
本文介紹如何使用 TG Bot 來操作 MongoDB,包括讀取所有 domain、讀取特定 domain、新增 domain、批量新增 domain、修改 domain 和刪除 domain。透過 TG Bot 的指令操作,實現了自動化管理和多環境管理。
Thumbnail
加入免費👉Discord群組接收每日市場要聞、經濟數據和文章更新通知。
Thumbnail
加入免費👉Discord群組接收每日市場要聞、經濟數據和文章更新通知。
Thumbnail
我持有MDB多年,是目前持倉中回報最豐厚的股票之一。本次財報發布後,其股價似乎又要往上突破,證明前面撰寫的分析正確,即隨著Atlas佔MDB營收過半且增長加速,MDB的財報應該會愈來愈好;及隨著疫情結束,對MDB這類公司來說也只是榮景的開端。本文除了分析財報,也會補充些我看好它能長期增長的原因。
Thumbnail
在了解MDB這家公司的時候,不能只看Atlas,即使它佔MDB總營收比例已經逾半。前面MDB的傳統業務不但是其另一半營收的來源,更重要的是,它也是形構其商業模式的關鍵。雖然很明顯傳統業務的營收增長率比不上Atlas,但卻是理解其行銷和擴展業務思路的關鍵所在。