公司的一个需求要删除过期的文件
把代码记录下
from pymongo import MongoClient
from gridfs import *
import datetime
client = MongoClient(host = "172.25.16.176", port=27017)
db = client.mailfile
gfs = GridFS(db, collection="fs")
def ObjectId(number):
list_id = []
args = gfs.find().sort("uploadDate", 1).limit(int(number))
for one in args:
uploadDate = one.uploadDate + datetime.timedelta(hours=8)
uploadDate = uploadDate.strftime("%Y-%m-%d %H:%M:%S")
list_id.append(one._id)
return list_id
def DeleteMongofile(*list_id):
for oid in list_id:
gfs.delete(oid)#删除只能删除ID
if __name__ == '__main__':
need_number = ObjectId(10) #控制要删除的数量
DeleteMongofile(*need_number)
还是对mongo用法还要多熟悉才行 。