python与mongo_MongoDB与Python的交互
驱动模块
pymongo是python里常用的操作MongoDB的驱动模块
可用pip下载安装
pip install pymongo
创建连接
MongoClient是MongoDB的客户端代理对象,可以用来执行增删改查操作,而且还内置了连接池
from pymongo import MongoClient
client = MongoClient(host="localhost",port=27017)
client.admin.authenticate("admin","123456")
数据写入
insert_one和insert_many两个函数可向MongoDB写入数据
client.school.student.insert_one({"name":"alex"})
client.school.student.insert_many({"name":"bob"},{"name":"cindy"})
数据查询
find_one和find两个函数可从MmongDB中查询数据
student = client.school.student.find_one({"name":"alex"})
print(student)
students = client.school.student.find({})
for one in students:
print(one["_id"],one["name"])
skip:用于数据分类查询
limit:用于数据分页查询
students = client.school.student.find({}).skip(0).limit(10)
count_documents:查询记录总数
count = client.school.student.count_documents({})
distinct:查询不重复的字段
students = client.school.student.distinct("name")
sort:对查询结果进行排序
students = client.school.student.find().sort([("name",-1)])
数据修改
update_one和update_many两个函数可以修改MongoDB数据
client.school.student.update_one({"name":"alex"},{"$set":{"sex":"女"}})
client.school.student.update_many({},{"$set":{"grade":"七年级"}})
数据删除
delete_one和delete_many两个函数可以删除MongoDB数据
client.school.student.delete_one({"name":"alex"})
client.school.student.delete_many({})
存储文件
连接GridFS
GridFS是MongoDB的文件存储方案,主要用于存储超过16M的文件
from gridfs import GridFS
db = client.school
gfs = GridFS(db,collection="book")
保存文件
put函数可把文件保存到GridFS中
file = open("D:/Python编程:从入门到实践.pdf","rb")
args = {"type":"PDF","keyword":"Python"}
gfs.put(file,file="Python编程:从入门到实践.PDF",**args)
file.close()
查找文件
find_one和find函数可以查找GridFS中存储的文件
book = gfs.find_one({"filename":"Python编程:从入门到实践.PDF"})
print(book.keywode)
books = gfs.find({"type":"PDF"})
for one in books:
print(one.filename)
判断是否存储了文件
exists可判断GridFS是否存储了某个文件
rs = gfs.exists({"filename":"Python编程:从入门到实践.PDF"})
print(rs)
读取文件
get函数可以从GfridFS中读取文件,并且只能通过主键读取
from bson.objectid import ObjectId
book = gfs.find_one({"filename":"Python编程:从入门到实践.PDF"})
id = book._id
document = gfs.get(ObjectId(id))
file = open("D:/Python从入门到实践.PDF","wb")
file.write(document.read())
file.close()
删除文件
delect函数可以从GridFS中删除文件,同样只能通过主键删除(先查找到文件的主键)
from bson.objectid import ObjectId
book = gfs.find_one({"filename":"Python编程:从入门到实践.PDF"})
id = book._id
gfs.delete(ObjectId(id))
python与mongo_MongoDB与Python的交互相关推荐
- php和python交互-Python如何实现简单的用户交互程序(示例)
本篇文章给大家带来的内容是关于Python如何实现简单的用户交互程序(示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们经常使用的程序都会有与用户交互的程序,比如网页的登录, ...
- 【Python】如何用python做一个简单的输入输出交互界面?
看到知乎上有人在问,如何使用Python做一个简单的输入输出交互界面? 交互界面就涉及到GUI编程. Python有很多GUI框架,功能大同小异. 其中比较出名的有「PyQT」.**wxPython. ...
- unity和python通讯_Python 与 Unity mlagents 交互 API
初始化 unity 环境 1 2 3 4 5import numpy as np import matplotlib.pyplot as plt from mlagents.envs import U ...
- python交互方式是什么意思_python交互模式是什么
命令行模式 在Windows开始菜单选择"命令提示符",就进入到命令行模式,它的提示符类似C:\> Python交互模式 在命令行模式下敲命令python,就看到类似如下的一 ...
- Python语言学习:Python语言学习之硬件交互应用(arduino、树莓派等)相关的简介、案例应用之详细攻略
Python语言学习:Python语言学习之硬件交互应用(arduino.树莓派等)相关的简介.案例应用之详细攻略 目录 Python与硬件交互应用 1.适合运行python的嵌入式硬件系统 1.1. ...
- 如何使用 Python 的 COM 组件与 ZOS-API 交互构建和优化单透镜
ZOS-API 是个功能强大的工具,在 ZOS-API 中,用户可以用编程的方式执行OpticStudio 用户界面中可能实现的所有操作(以及更多操作).本文将展示如何使用 Python 与 ZOS- ...
- 【python MySQL 笔记】python和MySQL交互、操作
[python MySQL 笔记]python和MySQL交互.操作 目录 1. 数据准备 2. SQL演练 2.1 SQL语句强化练习 2.2. 将一个表拆为多个表 3. python操作MySQ ...
- MicroPython中Python与C代码是如何交互的
1.Python代码和C代码字符关联 本节就来介绍下模块扩展过程中Python字符是怎么和C字符(例如:模块名,类名,变量名,函数名等)关联起来的?以ADC 类名字符来举例说明下关联过程的: C代码字 ...
- 机器学习从Python 2迁移到Python 3,你需要注意的一些事……
编译 | AI科技大本营(rgznai100) 参与 | 林椿眄 编辑 | Donna Python 已经成为机器学习及其他科学领域中的主流语言.它不但与多种深度学习框架兼容,而且还包含优秀的工具包和 ...
最新文章
- WMIC 命令如何使用?
- mongodb消息服务器,win10 MongoDB 3.6 服务端配置
- .Net有关问题。在GridView中添加了一个HyperLinkField,用来显示显示详细信息,请教跳转后的详细信息页面该怎样写代码
- JavaScript中foreach()用法及使用的坑
- 没落的Ubuntu Touch想翻盘:新技术可运行Android应用
- ABAP 弹出框自建内容POPUP
- 作者:夏虎, 男, 电子科技大学副研究员、 教育大数据研究所所长。
- .net mvc ajax 用html()怎么出来正个页面呀,如何使用jquery或ajax为MVC项目更新c#/ asp.net中的razor部分视图...
- javax.mail.MessagingException: 501 Syntax: HELO hostname Linux端异常解决
- 这是html5中WebGL的演示
- 两轮差速驱动机器人运动模型及应用分析(图片版)
- 快速部署PostgreSQL
- java项目介绍_java项目介绍及创建
- 我所佩服的古人——乐毅
- photoshop教程裁剪和拉直照片以改善构图
- 每日一课 | SQL模糊查找
- SSM实现邮箱验证功能
- ENVI:(2022年最详细的教程)自定义坐标系
- 操作系统 精髓与设计原理 第三章部分题目
- 世界上到处都是有才华的穷人_15位年轻有才华的设计师