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

yizhihongxing

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日

相关文章

  • pycharm 激活码及使用方式的详细教程

    Pycharm激活码及使用方式的详细教程 什么是Pycharm? Pycharm是一款非常流行的Python IDE,被认为是Python开发最好的IDE之一,它提供了一组丰富的工具来帮助你在Python中编写代码。在Pycharm中,你可以从头开始编写代码,也可以调试代码并运行它们,还可以使用它强大的代码补全功能。 Pycharm激活方式 目前,Pycha…

    python 2023年6月3日
    00
  • Python实现替换文件中指定内容的方法

    下面是Python实现替换文件中指定内容的方法的完整攻略。 一、需求背景 有时候我们需要在一个文件中替换指定的字符串,比如我们需要把文件中的”a”字符串替换成”b”字符串。Python提供了操作文件的API,可以用Python来实现这个需求。 二、操作步骤 1.打开文件 使用Python的内置函数open()打开文件,并指定打开文件的模式为”r”,表示只读模…

    python 2023年6月5日
    00
  • python等待10秒执行下一命令的方法

    关于如何在Python中等待一定时间后再执行下一条命令,可以使用Python内置的time模块提供的sleep()函数来实现。 具体步骤如下: 1. 导入time模块 要使用time模块提供的sleep()函数,需要先导入该模块。可以在代码开头加上以下代码: import time 2. 使用sleep()函数 sleep()函数接收一个时间参数,单位为秒(…

    python 2023年5月19日
    00
  • 利用Python的sympy包求解一元三次方程示例

    下面是利用Python的sympy包求解一元三次方程示例的完整攻略。 环境准备 首先,需要确保在本地计算机上安装好了Python和sympy包。可以使用pip进行安装: pip install sympy 导入sympy包 在Python文件中首先需要导入sympy包: import sympy 定义符号变量 接下来需要定义符号变量,分别代表未知数和常数: …

    python 2023年6月5日
    00
  • tensorflow 打印内存中的变量方法

    要打印tensorflow内存中的变量,我们需要使用tensorflow的Session类中的run方法。具体代码如下: import tensorflow as tf # 创建一个tensorflow变量x x = tf.Variable(0) # 创建一个操作,将x加1 add_op = tf.assign_add(x, 1) # 创建一个会话 with…

    python 2023年6月3日
    00
  • Python3将ipa包中的文件按大小排序

    以下是“Python3将ipa包中的文件按大小排序”的完整攻略: 介绍 在iOS开发中,我们经常需要处理ipa包,其中包含了许多文件。有时候我们需要对这些文件按大小进行排序,以便快速找到文件占用存储空间最多的位置。本文将演示如何使用Python3对ipa包中的文件按大小进行排序。 准备工作 首先,我们需要用到zipfile模块来解压ipa包,该模块是Pyth…

    python 2023年6月3日
    00
  • 关于pytest结合csv模块实现csv格式的数据驱动问题

    关于pytest结合csv模块实现csv格式的数据驱动问题的攻略如下: 1. 安装pytest和csv模块 在使用pytest和csv模块之前,需要先安装这两个模块。可以使用pip install命令来安装: pip install pytest pip install csv 2. 准备测试数据 在使用csv模块之前,需要准备好测试数据所在的csv文件。假…

    python 2023年6月3日
    00
  • python的正则表达式re模块的常用方法

    Python正则表达式re模块常用方法攻略 正则表达式是一种强大的文本处理工具,Python的正则表达式模块re提供了一组函数,用于处理正则表达式。下面是一个详细的攻略,介绍了Python中的正则表达式模块re的常用方法。 1. 环境准备 在使用正则表达式前,我们需要安装Python的正则表达式模块re。我们可以使用以下命令来安装它: pip install…

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