python db文件_python 操作mongodb 文件相关

https://api.mongodb.com/python/current/tutorial.html# 文档地址

from pymongo import MongoClient

from gridfs import *

client = MongoClient(host = "localhost", port=27017)

client.admin.authenticate("admin","abc123456")

db = client.school

gfs = GridFS(db, collection="book")

file = open("MongoDB与Python的交互.pdf","rb")

args = {"type":"PDF","keyword":"linux"}

gfs.put(file,filename = "MongoDB与Python的交互.pdf",**args)

file.close()

# 查询

book = gfs.find_one({"filename":"MongoDB与Python的交互.pdf"})

print(book.filename)

print(book.type)

print(book.keyword)

# 计算大小 M

print(math.ceil(book.length/1024/1024))

books = gfs.find({"type":"PDF"})

for one in books:

uploadDate = one.uploadDate + datetime.timedelta(hours = 8)

uploadDate = uploadDate.strftime("%Y-%M-%D %H:%M:%S")

print(one._id,one.filename, uploadDate)

查询文件是否存在

import math

import datetime

from bson.objectid import ObjectId

rs = gfs.exists(ObjectId("6d6500f276319f912b084b9e"))

print(rs)

rs = gfs.exists(**{"type":"PDF"})

print(rs)

文件获取

db = client.school

gfs = GridFS(db, collection="book")

document = gfs.get(ObjectId("5d6500f276319f912b084b9e"))

file=open("D:Linux手册.pdf","wb")

file.write(document.read())

file.close()

# 文件删除

gfs.delete(ObjectId("5d6500f276319f912b084b9e"))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值