介紹
作為一位 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-hant/n/179929.html