介绍
作为一位 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 数据库啦。