python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例

Python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例

安装MongoDB

  1. 官网下载MongoDB Community Server安装文件,https://www.mongodb.com/download-center/community 选择对应系统版本进行下载。

  2. 安装MongoDB

  3. Windows:使用默认安装路径进行安装即可,如需修改可自定义路径。

  4. Linux(以Ubuntu为例):

  5. 导入公钥:wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | sudo apt-key add -

  6. 编辑源文件/etc/apt/sources.list.d/mongodb-org-4.0.list,添加deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse
  7. 更新apt-get,安装MongoDB:sudo apt-get update;sudo apt-get install -y mongodb-org

Python3操作MongoDB数据库

  1. 安装Python3以及pymongo包

  2. Windows:下载安装Python3,并使用pip安装pymongo包:pip install pymongo

  3. Linux:Ubuntu系列版本自带Python3,可以使用apt-get安装pymongo包:sudo apt-get install python3-pymongo

  4. 连接MongoDB

  5. Python3代码:

import pymongo

# 连接MongoDB数据库
client = pymongo.MongoClient('mongodb://localhost:27017/')

其中,'mongodb://localhost:27017/'表示连接本机MongoDB服务端,并且MongoDB服务端端口号为27017。

  1. 插入数据

  2. Python3代码:

# 获取要插入的collection
col = client['test']['user']

# 插入单条数据
col.insert_one({"name":"Tom", "age":18})

# 插入多条数据
data_list = [{"name":"Alice", "age":20}, {"name":"James", "age":22}]
col.insert_many(data_list)

其中,col.insert_one表示插入单条数据,col.insert_many表示插入多条数据,data_list为待插入的数据列表。

  1. 查询数据

  2. Python3代码:

# 查询所有数据
result = col.find()

# 条件查询数据
result = col.find({"name":"Tom"})

# 获取单条数据
result = col.find_one()

# 获取多条数据
result = col.find().limit(2)

for r in result:
    print(r)

其中,find表示查询集合中所有数据,find({"name":"Tom"})表示查询集合中name为Tom的数据。find_one表示查询单条数据,find().limit(2)表示查询两条数据。最后,通过迭代获取查询结果。

示例1

假设我们要创建一个学生信息管理系统,其中每个学生的信息包括姓名、年龄、班级等。使用MongoDB存储这些信息的话,我们可以创建一个名为'student'的collection,在其中插入每个学生的信息数据。

import pymongo

# 连接MongoDB数据库
client = pymongo.MongoClient('mongodb://localhost:27017/')

# 获取要插入的collection
col = client['test']['student']

# 插入学生信息
data_list = [
    {"name":"小明", "age":18, "class":"高一一班"},
    {"name":"小红", "age":17, "class":"高一一班"},
    {"name":"小刚", "age":18, "class":"高一二班"},
    {"name":"小帅", "age":17, "class":"高一二班"},
]

col.insert_many(data_list)

# 查询所有学生信息
result = col.find()
print("所有学生信息:")
for r in result:
    print(r)

执行上述代码,可得到输出结果如下:

所有学生信息:
{'_id': ObjectId('5d8d3c357f7afa47b82f5f74'), 'name': '小明', 'age': 18, 'class': '高一一班'}
{'_id': ObjectId('5d8d3c357f7afa47b82f5f75'), 'name': '小红', 'age': 17, 'class': '高一一班'}
{'_id': ObjectId('5d8d3c357f7afa47b82f5f76'), 'name': '小刚', 'age': 18, 'class': '高一二班'}
{'_id': ObjectId('5d8d3c357f7afa47b82f5f77'), 'name': '小帅', 'age': 17, 'class': '高一二班'}

上述结果中,'_id'是MongoDB中默认生成的主键,其他字段是我们插入的学生信息。

示例2

再假设我们现在需要查询一下所有年龄为18岁的学生信息,我们可以使用条件查询的方式进行。

# 查询年龄为18岁的学生信息
result = col.find({"age":18})
print("年龄为18岁的学生信息:")
for r in result:
    print(r)

执行上述代码,可得到输出结果如下:

年龄为18岁的学生信息:
{'_id': ObjectId('5d8d3c357f7afa47b82f5f74'), 'name': '小明', 'age': 18, 'class': '高一一班'}
{'_id': ObjectId('5d8d3c357f7afa47b82f5f76'), 'name': '小刚', 'age': 18, 'class': '高一二班'}

上述结果中,符合条件的学生信息被查询出来并输出。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例 - Python技术站

(0)
上一篇 2023年5月14日
下一篇 2023年5月14日

相关文章

  • 详解Pandas和NumPy的区别

    Pandas和NumPy是Python中重要的数据分析库,两者都是基于Python语言开发的。两者有很多相似之处,比如都适用于数据的处理、分析和可视化,但也有很大的差异。下面将详细讲解Pandas和NumPy的区别。 1. 数据类型 NumPy中有一个基本数据类型ndarray,是用于科学计算中处理大型数据集的基本结构。该结构是多维数组,支持基本的数学和统计…

    python-answer 2023年3月25日
    00
  • Python中使用md5sum检查目录中相同文件代码分享

    下面是“Python中使用md5sum检查目录中相同文件代码分享”的完整攻略。 准备工作 在使用Python检查目录中相同文件之前,需要安装md5sum工具。如果是Linux或Unix系统,则已经内置此工具;如果是Windows系统,则需要下载cygwin并安装md5sum。可以在这个网站下载cygwin。 安装完md5sum后,就可以进行Python代码的…

    python 2023年6月2日
    00
  • python包和文件夹有的区别点总结

    当我们开始学习Python编程时,我们通常要引入一些外部的库或者模块来协助我们完成任务。这些库或者模块被组织成了一种特殊的叫做包(Package)的结构。包是一种封装了多个模块或者子包的目录结构。与包相似的还有文件夹,那么Python包和文件夹之间有哪些区别呢?本文就为大家总结一下。 1. 包是有特殊的__init__.py文件 与普通的文件夹相比,Pyth…

    python 2023年6月3日
    00
  • python脚本框架webpy入门安装及应用创建

    Python脚本框架web.py入门安装及应用创建完整攻略 1. 安装Web.py Web.py可以使用pip命令来安装,打开终端,输入以下命令: pip install web.py 2. 创建Web.py应用 2.1. 创建项目目录 在你喜欢的位置创建一个新目录,例如project。 mkdir project 2.2. 创建应用主文件 在项目目录中创建…

    python 2023年5月20日
    00
  • Python强大的自省机制详解

    Python强大的自省机制详解 在Python中,自省是指在程序运行的时候,能够查询任意对象的相关信息,比如对象的类型、属性、方法等等。Python的自省机制非常强大,能够极大地提升开发效率。本文将深入讲解Python的自省机制,包括类型检查、属性查询、方法查询等内容。 一、类型检查 在Python中,可以通过内置函数type()来查看一个对象的类型。比如下…

    python 2023年6月5日
    00
  • Python向Excel中插入图片的简单实现方法

    下面是详细的讲解。 Python向Excel中插入图片的简单实现方法 背景 Excel是常用的数据处理软件,而Python是强大的数据处理编程语言,通过Python控制Excel的操作可以实现自动化的数据分析和处理。在Excel中插入图片可以使数据分析更直观,本文介绍如何使用Python向Excel中插入图片。 实现方法 第一步:安装必要的库 我们需要安装以…

    python 2023年5月13日
    00
  • Python两个字典键同值相加的几种方法

    当两个字典中存在相同键但对应的值不同时,可以通过多种方法将它们的值相加。 下面介绍几种实现方法: 方法一:循环遍历 可以循环遍历一个字典,并检查该键是否在另一个字典中。如果两个字典中都包含该键,则将它们的对应值加起来并更新到一个新字典中。 dict1 = {"a": 1, "b": 2, "c": …

    python 2023年5月13日
    00
  • python3美化表格数据输出结果的实现代码

    让我来为你讲解如何用Python3美化表格数据输出结果的实现代码。 安装PrettyTable库 在Python3中,我们可以使用PrettyTable库来美化表格数据输出结果。首先需要通过pip来进行安装: pip install prettytable 导入PrettyTable 导入PrettyTable模块,然后创建一个新表,并通过add_colum…

    python 2023年6月5日
    00
合作推广
合作推广
分享本页
返回顶部