Python工程師如何在Linux上搭建MongoDB

介紹

作為一位 Python 工程師,你可能會需要使用 MongoDB 來存儲你的數據。在本文中,我們將探討如何在 Linux 平台上搭建 MongoDB 數據庫。我們將提供 MongoDB 的一些背景信息、安裝和配置 MongoDB、以及如何連接和使用 MongoDB。

正文

一、MongoDB 概述

MongoDB 是一款基於分佈式文件存儲的 NoSQL 數據庫,相比於傳統的關係型數據庫,MongoDB 能夠更靈活的存儲數據,並且具有更好的擴展性和性能。

MongoDB 中有兩個重要的概念:集合(Collection)和文檔(Document)。集合是 MongoDB 中的表格,而文檔就是集合中的行。文檔使用 BSON 格式進行表示,BSON 是一種 JSON 的二進制形式。

二、安裝和配置 MongoDB

在本節中,我們將詳細講述如何在 Linux 平台上安裝和配置 MongoDB。

1. 安裝 MongoDB

首先,在終端中使用以下命令下載 MongoDB 的 GPG 公鑰:

$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

然後,創建 MongoDB 的源列表:

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

更新包列表並安裝 MongoDB:

$ sudo apt update
$ sudo apt install mongodb-org

2. 啟動 MongoDB

使用以下命令啟動 MongoDB 服務:

$ sudo systemctl start mongod

如果您想讓 MongoDB 在系統啟動時自動啟動,可以使用以下命令:

$ sudo systemctl enable mongod

要停止 MongoDB 服務,可以使用以下命令:

$ sudo systemctl stop mongod

3. 配置 MongoDB

在默認情況下,MongoDB 啟動後監聽的是本地 IP 地址 127.0.0.1 的端口 27017。如果需要在其他機器上訪問 MongoDB,需要修改 MongoDB 的配置。

打開 MongoDB 的配置文件:

$ sudo nano /etc/mongod.conf

找到並修改以下兩行:

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # <---- 在這裡添加您的 IP 地址

在 bindIp 行中添加您的 IP 地址,例如 192.168.0.1。然後保存並關閉文件。

重新啟動 MongoDB 服務以使更改生效:

$ sudo systemctl restart mongod

三、連接和使用 MongoDB

現在,您已經成功搭建並啟動了 MongoDB。在本節中,我們將學習如何連接和使用 MongoDB。

1. 連接 MongoDB

您可以使用 MongoDB 的 shell 客戶端連接到 MongoDB 服務器。

在終端中輸入以下命令連接到 MongoDB:

$ mongo

如果 MongoDB 運行在遠程服務器上,您需要指定服務器的 IP 地址,例如:

$ mongo 192.168.0.1

如果需要在連接時指定用戶名和密碼,可以使用以下命令:

$ mongo -u root -p password --authenticationDatabase admin

這裡的”root”和”password”是您的 MongoDB 用戶名和密碼。

2. 創建數據庫和集合

在 MongoDB 中,集合會自動創建。要在 MongoDB 中創建一個新的數據庫,您需要首先插入一個文檔。

以下是一個示例,展示如何使用 Python 創建一個名為 testdb 的數據庫,並在 testdb 中創建一個名為 books 的集合:

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

db = client["testdb"]

collection = db["books"]

在上述示例中,我們使用 PyMongo 模塊創建了一個名為 client 的 MongoClient 對象,並將其連接到 MongoDB 數據庫服務器。然後,我們使用 client 對象創建了一個名為 testdb 的新數據庫,並使用該數據庫創建了一個名為 books 的新集合。

3. 插入數據

下面是一個示例,展示如何向 MongoDB 中的集合中插入數據:

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

db = client["testdb"]

collection = db["books"]

data = {"book_name": "Python for Beginners", "author": "John Smith", "year": "2021"}

result = collection.insert_one(data)

print(result.inserted_id)

在上面的示例中,我們插入了一個名為 data 的字典對象,並將其添加到了名為 books 的集合中。然後,我們使用 insert_one() 方法插入了該字典對象,並返回了新插入對象的 ID。

4. 查詢數據

使用 PyMongo 可以方便地查詢 MongoDB 中的數據。以下是一個示例,展示如何查詢名為 books 的集合中的所有文檔:

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

db = client["testdb"]

collection = db["books"]

result = collection.find()

for x in result:
  print(x)

在上述示例中,我們使用 find() 方法查詢了名為 books 集合中的所有文檔,並使用 for 循環逐個輸出這些文檔。

5. 更新數據

以下是一個示例,展示如何更新名為 books 的集合中的某個文檔:

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

db = client["testdb"]

collection = db["books"]

query = {"book_name": "Python for Beginners"}

new_value = {"$set": {"author": "Jane Doe"}}

collection.update_one(query, new_value)

在上述示例中,我們使用 update_one() 方法更新名為 books 的集合中的一行。我們首先定義了一個名為 query 的字典,用於篩選文檔。然後,我們定義一個名為 new_value 的字典,該字典包含要進行更改的字段。最後,我們使用 update_one() 方法更新匹配 query 條件的文檔。

6. 刪除數據

以下是一個示例,展示如何刪除名為 books 的集合中的一行:

import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

db = client["testdb"]

collection = db["books"]

query = {"book_name": "Python for Beginners"}

collection.delete_one(query)

在上述示例中,我們使用 delete_one() 方法刪除名為 books 的集合中的一行。我們首先定義了一個名為 query 的字典,用於篩選要刪除的文檔。最後,我們使用 delete_one() 方法刪除匹配 query 條件的文檔。

結論

在本文中,我們已經學習了如何在 Linux 平台上搭建 MongoDB 數據庫,包括安裝和配置 MongoDB,以及如何連接和使用 MongoDB。如果你是一位 Python 工程師,掌握 MongoDB 數據庫的知識對你來說十分重要,現在你已經可以在 Linux 上搭建 MongoDB 數據庫啦。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/179929.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-22 05:09
下一篇 2024-11-22 05:09

相關推薦

  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 如何在PyCharm中安裝OpenCV?

    本文將從以下幾個方面詳細介紹如何在PyCharm中安裝OpenCV。 一、安裝Python 在安裝OpenCV之前,請確保已經安裝了Python。 如果您還沒有安裝Python,可…

    編程 2025-04-29
  • Python編程二級證書考試相關現已可以上網購買

    計算機二級Python考試是一項重要的國家級認證考試,也是Python編程的入門考試。與其他考試一樣,Python編程二級證書的考生需要進入正式考試,而為了備考,這篇文章將詳細介紹…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29

發表回復

登錄後才能評論