我正在尝试使用GridFS获取存储在mongoDB中的文件。
我编写了这个函数,用于使用GridFS将文件存储到mongoDB中
def write_file_object(file_name):
with open(file_name) as mydoc:
b = fs.put(mydoc, content_type="text/plain", filename="file")
print b
这个函数通过传递文件ID来获取mongoDB中的文件,对于这种情况是5590c2a71d41c81703458433。
def get_file_object(file_id):
out = fs.get(file_id).read()
print out
但我一直收到这个错误: gridfs.errors.NoFile:gridfs集合中没有文件集合(数据库(MongoClient('localhost',27017),u'gridfs_example'),u'fs.files')与_id'5590c2a71d41c81703458433'
获取文件的任何帮助?我的方法不对吗?
答案 0 :(得分:0)
您需要将id字符串转换为ObjectId
:
from bson.objectid import ObjectId
def get_file_object(file_id):
out = fs.get(ObjectId(file_id)).read()
print out