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/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

发表回复

登录后才能评论