您的位置:

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 数据库啦。