数据明明存入MongoDB的存储桶GridFS了,去数据库搜文件ID也搜到了,但是在Python的pymongo中,查询相应的文件ID却报错gridfs.errors.NoFile:no file in gridfs collection Collection
# -*- coding: UTF-8 -*-
from gridfs import GridFS
file_id = '60b8996c7a953763ab71e6df'
fs = GridFS(db, gridfs_table_name)
gf = fs.get(file_id)
问题原因,file_id数据类型错误,在Python中,它不是字符串,是ID对象
from bson.objectid import ObjectId
gf = fs.get(ObjectId(file_id))
这样就可以找到了,网上清一色的都是Stack Overflow的这个情形和回答mongodb gridfs “no file” error with python,无卵用。
下边这个才是我的问题正解。
参考资料: