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
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
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
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
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,但卻是理解其行銷和擴展業務思路的關鍵所在。