Mongodb 基本介紹-文檔介紹篇

閱讀時間約 2 分鐘

MongoDB 是什麼?

MongoDB 是一種流行的開源 NoSQL 資料庫,於 2009 年首次發布。與傳統的關係型資料庫系統不同,它不依賴於表格和固定的資料庫結構,而是採用一種基於文件的架構,其中每條記錄都是一個稱為 「文件」 的 JSON 樣式結構。此靈活的結構使 MongoDB 成為許多動態應用程式和大數據解決方案的首選。

Document Based

相對於傳統的關係型資料庫,它依靠表格中的列/行來儲存資料,並且通常需要在多個表中透過 JOIN 操作來聚集不同類型的資料。在這樣的系統中,資料表間的關係可能非常多元和繁瑣。而在開始使用之前,必須先建立一個完整的 schema,並根據特定應用的需求來設計 ER 模型,才能被應用程式使用。

另一方面,MongoDB 採用基於文件的方法,其中資料是以 BSON 格式存儲在文件中,每個文件由多個欄位和值對組成。這種方式支援多種資料結構,包括基本的整數、字串和陣列,以及嵌入式文件。這種嵌入式文件的結構有一個明顯的優點,即可以通過單一查詢就獲得所需的所有資料,避免了需要在多個表之間進行 JOIN 操作的需求。

文件被儲存於集合中,每一個文件可以具有與集合中其他文件不同的結構或模式,從而為使用者提供更高的靈活性。使用者可以根據查詢的種類和資料特性,對文件中的欄位設置索引。同時,如果希望所有文件遵循特定的資料結構,也可以利用模式驗證來確保資料的一致性。

以文件為基礎的設計傾向於去規格化,這使得開發過程更直觀和靈活。然而,這並不意味著去規格化固然優於規格化的設計;這仍然依賴於業務需求來決定最佳方案。去規格化不僅具有上述優點,還可以減少大量資料連接操作的時間,從而提高資料讀取的效率。然而,它在資料冗餘或一致性的維護上可能不是那麼有利。因此,最終的設計方向需要根據實際的應用情境來定。

總結使用文件儲存資料的一些明顯優點如下:

  • 文件的儲存格式與 JSON 相似,有助於提高程式開發的效率。
  • 可避免在開發框架中使用額外的物件關係映射(ORM)層。
  • 有助於提高查詢的效率和速度。






1會員
1內容數
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
👨‍💻簡介 在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
Thumbnail
詳細解說如何在 Mac 上透過 Docker 安裝 MongoDB 社群版。包括 MongoDB Compass 的安裝與配置,以及 MongoDB Shell 的使用方法,為開發者提供 MongoDB 學習資源。
Thumbnail
建立一個屬於自己喜愛球員的清單。 ※ 專案開發環境 架設 Node.js 伺服器。 用 Express.js 進行全端開發。 用 MongoDB 資料庫。 ※ 專案開發技術 使用 Express handlebars,為球員清單做出佈局和局部樣板
MongoDB 是什麼? MongoDB 是一種流行的開源 NoSQL 資料庫,於 2009 年首次發布。與傳統的關係型資料庫系統不同,它不依賴於表格和固定的資料庫結構,而是採用一種基於文件的架構,其中每條記錄都是一個稱為 「文件」 的 JSON 樣式結構。此靈活的結構使 MongoDB 成為許多
Thumbnail
在現代資訊科技的浪潮下,資料庫管理系統扮演著舉足輕重的角色,決定著企業和開發者如何有效地儲存、查詢和操作數據。MySQL和MongoDB是兩種廣泛使用的資料庫,分別代表了傳統的關聯式資料庫(RDBMS)和新興的非關聯式資料庫(NoSQL)的典型。
Thumbnail
我們在「【資料庫寶典】什麼是NoSQL?能吃嗎?」有談到一些NoSQL的特性,雖然本質上有所差異,但兩方技術發展的產品也都開始互相支援了,比如說MongoDB後來也發展出類SQL語法讓熟悉SQL的開發者可以降低進入門檻,而SQL、postgresql…等也紛紛納入一些NoSQL的元素,雙方都有開始接
Thumbnail
MongoDB 在排序時會將資料全部載入記憶體,之後在記憶體中進行排序,而預設開放給排序的記憶體只有 32 MB,因此在大量資料排序時就會引發該錯誤。
Thumbnail
以下從社群整理並加上我的一些想法和意見。我的看法偏空,我們先從比較簡單的空方質疑開始,再來看多方的“解釋“。投資任何一家公司,都應該試著正反去看,才能真正搞清自己的感覺,而不是單方面只看到想看的東西。別忘了,我們上個禮拜說了,別跟公司談戀愛。
Authentication create root user In the mongo shell, create a root user to handle everything as follows. mongod.cfg connection Replication
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
👨‍💻簡介 在資料庫管理和系統維護中,備份是非常重要的一環。對於使用 MongoDB 的開發者和資料庫管理員來說,mongodump 是一個非常實用的命令行工具,能夠快速且輕鬆地完成資料庫的備份和恢復。無論是進行資料遷移、系統升級,還是面對突發的故障,mongodump 都能提供穩定的資料保護
※ 什麼是MongoDB? MongoDB是一個開源、跨平台的非關聯式資料庫,屬於一種文件導向(Document-oriented database)的資料庫管理系統,也就是 NoSQL 數據庫管理系統(DBMS)。 ※ 什麼是非關聯式資料庫(NoSQL)? 非關聯式資料庫(NoSQL)的意思
Thumbnail
詳細解說如何在 Mac 上透過 Docker 安裝 MongoDB 社群版。包括 MongoDB Compass 的安裝與配置,以及 MongoDB Shell 的使用方法,為開發者提供 MongoDB 學習資源。
Thumbnail
建立一個屬於自己喜愛球員的清單。 ※ 專案開發環境 架設 Node.js 伺服器。 用 Express.js 進行全端開發。 用 MongoDB 資料庫。 ※ 專案開發技術 使用 Express handlebars,為球員清單做出佈局和局部樣板
MongoDB 是什麼? MongoDB 是一種流行的開源 NoSQL 資料庫,於 2009 年首次發布。與傳統的關係型資料庫系統不同,它不依賴於表格和固定的資料庫結構,而是採用一種基於文件的架構,其中每條記錄都是一個稱為 「文件」 的 JSON 樣式結構。此靈活的結構使 MongoDB 成為許多
Thumbnail
在現代資訊科技的浪潮下,資料庫管理系統扮演著舉足輕重的角色,決定著企業和開發者如何有效地儲存、查詢和操作數據。MySQL和MongoDB是兩種廣泛使用的資料庫,分別代表了傳統的關聯式資料庫(RDBMS)和新興的非關聯式資料庫(NoSQL)的典型。
Thumbnail
我們在「【資料庫寶典】什麼是NoSQL?能吃嗎?」有談到一些NoSQL的特性,雖然本質上有所差異,但兩方技術發展的產品也都開始互相支援了,比如說MongoDB後來也發展出類SQL語法讓熟悉SQL的開發者可以降低進入門檻,而SQL、postgresql…等也紛紛納入一些NoSQL的元素,雙方都有開始接
Thumbnail
MongoDB 在排序時會將資料全部載入記憶體,之後在記憶體中進行排序,而預設開放給排序的記憶體只有 32 MB,因此在大量資料排序時就會引發該錯誤。
Thumbnail
以下從社群整理並加上我的一些想法和意見。我的看法偏空,我們先從比較簡單的空方質疑開始,再來看多方的“解釋“。投資任何一家公司,都應該試著正反去看,才能真正搞清自己的感覺,而不是單方面只看到想看的東西。別忘了,我們上個禮拜說了,別跟公司談戀愛。
Authentication create root user In the mongo shell, create a root user to handle everything as follows. mongod.cfg connection Replication