Mongodb 基本介紹-文檔介紹篇

閱讀時間約 2 分鐘

MongoDB 是什麼?

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

Document Based

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

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

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

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

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

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






1會員
1內容數
留言0
查看全部
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
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
這個秋,Chill 嗨嗨!穿搭美美去賞楓,裝備款款去露營⋯⋯你的秋天怎麼過?秋日 To Do List 等你分享! 秋季全站徵文,我們準備了五個創作主題,參賽還有機會獲得「火烤兩用鍋」,一起來看看如何參加吧~
Thumbnail
美國總統大選只剩下三天, 我們觀察一整週民調與金融市場的變化(包含賭局), 到本週五下午3:00前為止, 誰是美國總統幾乎大概可以猜到60-70%的機率, 本篇文章就是以大選結局為主軸來討論近期甚至到未來四年美股可能的改變
Thumbnail
Faker昨天真的太扯了,中國主播王多多點評的話更是精妙,分享給各位 王多多的點評 「Faker是我們的處境,他是LPL永遠繞不開的一個人和話題,所以我們特別渴望在決賽跟他相遇,去直面我們的處境。 我們曾經稱他為最高的山,最長的河,以為山海就是盡頭,可是Faker用他28歲的年齡...
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