在Python中使用MongoDB数据库,首先要下载pymongo模块

直接在命令行   pip install pymongo   就可以了

Python中使用pymongo模块对MongoDB数据库进行操作,增删改查。。。。。。

 导入模块

from pymongo import MongoClient

建立数据库连接

# 建立和MongoDB数据库的连接
client = MongoClient(host="127.0.0.1", port=27017)
'''使用方括号的方式选择数据库和集合如果数据库里面没有相应的数据库和集合,就会创建
'''
collecions = client["Test04"]["set_01"]

pymongo插入数据

'''1.插入一条数据 insert()'''
collecions.insert({"name": "Python", "age": 10})
# 1.1 给插入语句赋个值,打印出这条数据的文档id
res = collecions.insert({"name": "Java", "age": 10})
print(res)  # 输出 5c8e4cc0014b71ac088b4c7d 即id
'''2.插入多条数据 insert_many()'''
# 把想要插入的多条数据都放在一个列表中
data_list = [{"name": "test{}".format(i)} for i in range(10)]
collecions.insert_many(data_list)

pymongo查询数据

'''1.查询一个记录 find_one()'''
t1 = collecions.find_one({"name": "Python"})
# 打印的话直接打印出查找到的这条数据
print(t1)
'''2.查询所有的数据, find()'''
t2 = collecions.find()
# 直接打印会打印 一个Cursor(游标) 对象 即 <pymongo.cursor.Cursor object at 0x000001A2AFCD1860>
print(t2)
# 2.1利用for循环来遍历这个Cursor
for i in t2:print(i)
'''只能循环一次,因为是一个游标的对象,所以再次循环时,这个游标已经到数据的最后了然后就不会打印
'''
# 2.2 可以直接把这个Cursor的游标对象直接转化为一个列表
# (前提是这个游标没有被循环,即游标的位置还在最开头)
print(list(t2))

pymongo更新数据

'''1.更新一条数据 update_one'''
# 更新name为java的第一条数据,更改为JavaEE
collecions.update_one({"name": "Java"}, {"$set": {"name": "JavaEE"}})
'''2.更新全部数据 update_many'''
# 更新name为python_web的对应的age属性,所有符合条件的数据更新为20
collecions.update_many({"name": "python_web"}, {"$set": {"age": 20}})

pymongo删除数据

'''1.删除一条数据 '''
# 删除name为JavaEE的一条数据
collecions.delete_one({"name": "JavaEE"})
'''2.删除所有满足条件的数据'''
# 删除name为python_web的满足条件的所有数据
collecions.delete_many({"name": "python_web"})

练习

from pymongo import MongoClientclient = MongoClient(host="127.0.0.1", port=27017)
"""1. 使用Python向集合中t3中插入1000条文档,文档的属性包括_id、name、· _id的值为0、1、2、3···999· name的值为'py0'、'py1'.....
"""
collections = client["test4"]["t3"]data_list = [{"_id": i, "name": "py{}".format(i)} for i in range(1000)]
collections.insert_many(data_list)
print("数据操作成功")"""查询显示出_id为100的整数倍的文档,如100、200、300.....,并将name输出
"""
ret = collections.find()
data_list = list(ret)
data_list = [i["name"] for i in data_list if i["_id"] % 100 == 0 and i["_id"] != 0]
print(data_list)

MongoDB数据库(8.Python中使用mongodb数据库以及pymongo模块用法)相关推荐

  1. python连接mongodb进行查询_Python中的MongoDB基本操作:连接、查询实例

    MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可护展的高性能数据存储解决方案.它的特点是高性能.易部署.易使用,存储数据非常方便. MongoDB 简单使用 联 ...

  2. 在Python中使用MongoDB

    目录 先决条件 PyMongo实现 创建操作 读取操作 更新操作 删除操作 MongoEngine实现 创建操作 读取操作 更新操作 删除操作 结论 在我们的<MongoDB定义指南>中, ...

  3. 使用SQL数据库在Python中进行CRUD操作

    目录 介绍 背景 在Visual Studio中创建一个Python项目 在SQL中创建数据库和表 为数据库创建配置文件 将Python软件包安装为"Pypyodbc" 创建一个连 ...

  4. 使用SQL数据库在Python中执行CRUD操作

    目录 介绍 背景 在Visual Studio中创建一个Python项目 在SQL中创建数据库和表 为数据库创建配置文件 安装Python包 "Pypyodbc" 创建连接文件 创 ...

  5. python中cursor的用法_python MySQLdb用法,python中cursor操作数据库(转)

    数据库连接 连接数据库前,请先确认以下事项: 您已经创建了数据库 TESTDB. 在TESTDB数据库中您已经创建了表 EMPLOYEE EMPLOYEE表字段为 FIRST_NAME, LAST_N ...

  6. Python中第三方的库(library)、模块(module),包(package)的安装方法以及ImportError: No module named...

    Python中,想要安装第三方安装包,即third library,package等,对于熟悉的人来说,很简单. 但是对于新手,至少对于之前的我,很难,往往只是安装一个很小的包,都被搞得一头雾水. 现 ...

  7. Python中import导入上一级目录模块及循环import问题的解决

    Python中import导入上一级目录模块及循环import问题的解决 参考文章: (1)Python中import导入上一级目录模块及循环import问题的解决 (2)https://www.cn ...

  8. python中使用sys模板和logging模块获取行号和函数名的方法

    From: http://www.jb51.net/article/49026.htm 这篇文章主要介绍了python中使用sys模板和logging模块获取行号和函数名的方法,需要的朋友可以参考下 ...

  9. python中特殊变量-python list每三个分成一组python中星号变量的几种特殊用法

    在Python中星号除了用于乘法数值运算和幂运算外,还有一种特殊的用法"在变量前添加单个星号或两个星号",实现多参数的传入或变量的拆解,本文将详细介绍"星号参数" ...

最新文章

  1. 华为将发布世界首款人工智能原生数据库
  2. NeHe教程Qt实现——lesson09
  3. mysql 乐观锁 脏读_mysql 丢失更新1和2、脏读、不可重复读和幻读 事务隔离级别 悲观锁 乐观锁...
  4. VTK:可视化算法之TubesFromSplines
  5. SpringBoot 包含处理
  6. python利用cookie模拟登录
  7. c#中的DefWndProc是Control类的虚函数
  8. python注释及语句分类
  9. java.util.Collections类使用(很多秘密,网上资料亲测)
  10. 使用javac编译时碰到的问题
  11. 性能测试负载模型(十)
  12. c语言A 100 开头地址,C语言库函数_-_A开头
  13. 动态网页程序设计报告(留言板)
  14. 我,第一次做项目经理,干赔了
  15. 墨盒注墨后出现断线或堵头的处理方法
  16. 【Xamarin挖墙脚系列:mac 终端 常用命令+Mac OS X的快捷键+beamoff 】
  17. eclipse如何配置Maven
  18. R语言将 手写数据集 图片数据转为表格数据并主成分分析
  19. 【hadoop】进阶篇一:MapReduce之Job的提交
  20. 把自己的电脑作为网络代理服务器

热门文章

  1. LeetCode 31 下一个排列
  2. Spring Cloud——Spring Cloud Alibaba 2021 Nacos Config bootstrap 配置文件失效解决方案
  3. 《数据库系统实训》实验报告——存储过程
  4. 赫夫曼编码-译码器(Huffman Coding)
  5. JAVA Swing——框架(JFrame、JDialog)位置居于父窗口中央的解决方案
  6. Python基础day05【函数应用:学生管理系统、拆包、今日总结】
  7. CentOS 初体验八:传输本地文件到CentOS
  8. 业务知识——Logger日志打印规范
  9. 自动检测iOS网络并可跳转至设置界面设置网络
  10. 服务上的图片直接在浏览器上可以打开,但是在img上报404错误