python操作MongoDB的GridFS
【摘要】 #1.安装了一个库:pymongo#连接到数据库,引入的类库MongoClientfrom pymongo import MongoClient#创建MongoClient的客户端实例client=MongoClient("mongodb://localhost:27017")print(client)#连接到数据库db=client["mydb"]print(db)MongoClient(...
#1.安装了一个库:pymongo
#连接到数据库,引入的类库MongoClient
from pymongo import MongoClient
#创建MongoClient的客户端实例
client=MongoClient("mongodb://localhost:27017")
print(client)
#连接到数据库
db=client["mydb"]
print(db)
MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True)
Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'mydb')
2.创建Gridfs对象
#2.GridFs的时候put /get/list/delete/search
#导入GridFS
import gridfs
#创建gridfs的一个实例
fs=gridfs.GridFS(db)
print(fs)
<gridfs.synchronous.grid_file.GridFS object at 0x0000025212638050>
3.python上传文件到Mongodb
#3.上传大文件到MongoDB,访问某个图片只读二进制
with open("D:\\Users\\boat_fft.jpg","rb")as file:
file_id=fs.put(file,filename="boat_fft.jpg")
print(f"上传:{file_id}")
上传:67e3a467ab48c3dd63bab3fc
4.下载文件
#4.下载文件,文件数据从通过file_id来获取
file_data=fs.get(file_id).read()
with open("d:/Users/boat_fft999.jpg","wb")as file:
file.write(file_data)
print("下载完毕")
下载完毕
5.删除文件
#5.删除文件的操作
fs.delete(file_id)
#通过文件的ID来删除Gridfs文件
6.查找已经上传的文件
#.Gridfs文件的查找
#获取所有的文件,不是原生mongo指令list.
files=fs.find()
for file in files:
print(f"文件名:{file.filename},文件ID:{file_id}")
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)