MongoDB 是一個免費且開源的面向文檔的數據庫。 與將數據存儲在表中並在添加新數據之前需要預定義模式的關係數據庫不同,MongoDB 中的文檔是具有動態模式(即,沒有固定模式)的鍵/值對的無序集合。 因此,同一個字段可以包含一個整數、一個字符串或一個對象——這取決於您的應用程序需要什麼。 此外,由於其動態特性,MongoDB 非常適合存儲 JSON 對象,使其非常適合作為 RESTful 數據庫。
雖然 MongoDB 支持二級索引,但並非每個場景都需要二級索引。 這意味著 MongoDB 的讀取速度可能比某些關係數據庫稍慢(因為您需要從磁盤讀取更多字段),但寫入速度通常更快,因為不涉及索引維護。
MongoDB 對於需要存儲和管理數據(關係型和非結構化)的任何 Linux 用戶都很有用,尤其是當您需要可擴展性或高可用性時。 MongoDB 越來越受歡迎的主要原因是它提供了存儲 JSON 文檔的能力,使其非常適合移動客戶端(例如 iPhone)和傳統桌面瀏覽器(例如, Firefox)。 由於這些應用程序服務於具有不同數據存儲要求的多種客戶端類型,MongoDB 可能是一個理想的選擇,因為其無模式設計支持這些現代 Web 應用程序中數據的動態特性。
MongoDB 閃耀的另一個領域是社交媒體網站,例如 Twitter, Facebook,和領英。 這些站點越來越多地提供 REST API 來將您的社交關係(例如,朋友、喜歡)存儲為 JSON 文檔,使它們也非常適合 MongoDB。
MongoDB 也被亞馬遜的 EC2 和 Heroku 等雲計算提供商使用,因為它的可擴展性和高可用性符合他們能夠處理可以動態更改的海量數據的需求。
在本指南中,我們將向您展示如何在 Rocky Linux 8 操作系統上設置您自己的 MongoDB 數據庫。 安裝軟件後,我們將創建一個數據庫並執行一些基本的管理任務。
先決條件
為了遵循本指南,您應該運行 Rocky Linux 8 並且應該以非 root 用戶身份登錄 sudo 特權。
更新系統
在安裝任何軟件之前,您應該運行以下命令以確保您的所有系統軟件包都是最新的:
sudo dnf -y update
重新啟動服務器以使系統更改生效,然後使用相同的非 root 用戶再次登錄。
添加 MongoDB 存儲庫
在您的系統上安裝 MongoDB 之前,必須首先添加 MongoDB 存儲庫。 您有兩個選擇:您可以下載並安裝程序的 CE 版本,該版本功能有限,但可供個人免費使用; 或購買更強大功能的商業訪問權限。
要在 Rocky Linux 8 上安裝 MongoDB 存儲庫,請運行以下命令。
sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo<<EOF [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc EOF
在 Rocky Linux 8 上安裝 MongoDB
現在 MongoDB 存儲庫已設置,您可以通過運行以下命令來安裝 MongoDB 5.0。
sudo dnf install mongodb-org
安裝完成後,啟動並啟用MongoDB服務,以便在系統重新啟動時自動啟動。
sudo systemctl start mongod sudo systemctl enable mongod
要檢查 MongoDB 的版本,請運行以下命令:
mongo --version
要檢查 MongoDB 服務是否正在運行,請運行以下命令:
sudo systemctl status mongod
您應該會看到如下所示的輸出。
要檢查 MongoDB 是否運行了正確的安裝,請運行以下命令。 MongoDB 守護進程應該準備好並等待連接,如輸出中的一行所示。
測試 MongoDB 安裝
安裝過程完成後,您現在可以開始使用 MongoDB。 默認情況下,MongoDB 在本地主機的 IP 地址上偵聽端口 27017。 因此,所有命令都應該在本地主機上運行。
出於演示目的,我們將向您展示如何連接到 MongoDB shell 並將記錄(即文檔)插入到測試集合(即表)中。 當然,在執行此操作之前,您必須確保 MongoDB 守護程序正在您的服務器上運行以進行測試。
您可以使用以下命令登錄到 MongoDB shell。
mongo
此命令將使您登錄到 MongoDB shell,而無需設置身份驗證。
在 MongoDB shell 中,您可以運行任何數據庫管理命令。 MongoDB 提供了一個名為 test 的示例數據庫,這是一個很好的起點。 要獲取服務器上所有可用數據庫的列表,請在 MongoDB shell 中運行以下命令。
db
要在 MongoDB 中創建新數據庫,請運行以下命令。
use DATABASE_NAME
其中 DATABASE_NAME 是您要創建的數據庫的名稱。 如果具有該名稱的數據庫已存在,則此命令將切換到當前數據庫。 如果數據庫不存在,則會自動創建。 如果命令成功,它將返回一條消息“已切換到 db DATABASE_NAME”。
讓我們創建一個名為 linux_mongo 的數據庫
use linux_mongo
創建數據庫後,您可以通過運行以下命令將記錄插入到數據庫(集合)中。
db.linux.insertOne( { "ubuntu" : "20.04", "rocky linux" : "8", "debian" : "11", "alma linux" : "8", } )
按 Enter 插入數據。
要列出數據庫集合,只需在 MongoDB shell 中鍵入 show collections 命令。
show collections
輸出將與此類似。
要顯示集合中的所有集合內容或數據,請使用:
db.NAME-OF-COLLECTION.find().pretty()
Mongo 世界中的 pretty() 方法將漂亮地打印結果,特別適合人類閱讀。 讓我們展示上面創建的 linux 集合中的所有數據。
db.linux.find().pretty()
輸出將與此類似。
要退出 MongoDB shell,請在提示符下鍵入以下命令。
exit
結論
在本教程中,我們向您展示瞭如何在 Rocky Linux 系統上安裝和配置 MongoDB。 我們還向您展示了一些基本命令,以向您展示如何連接到 MongoDB shell,顯示您的 MongoDB 實例中存在的所有數據庫和集合。
本指南只是基本的安裝指南。 有關更多信息,請參閱可用的 MongoDB 文檔 這裡.