python写入文件到mongoDB

来源:互联网 发布:知乎 室内环保 编辑:程序博客网 时间:2024/05/22 04:59

将图片、文档等存入mogodb中,需要用到两个模块,pymongo和gridfs,在存入过程中必须将文件转换为二进制的格式才能存入,存入mongoDB中会生成两个文件xxx.chunk 和xxx.files。直接上代码:

import pymongoimport gridfsfrom bson import ObjectIdclient = pymongo.MongoClient('localhost', connect=False)db = client['demo']# 存储文件到mongodef save_file_to_mongo(content):    with open(content, 'rb') as f:        data = f.read()        fs = gridfs.GridFS(db, 'img')        retrun fs.put(data)# 从mongo取出文件def get_file_from_mongo(id):    fs = gridfs.GridFS(db, 'img')    gf = fs.get(ObjectId(id))    return gf.read()# 将文件写入硬盘def write_to_disk(content):    with open('1.jpg', 'wb' ) as f:        f.write(content)def main():    id = save_file_to_mongo('2.jpg')    write_to_disk(get_file_from_mongo(id))if __name__ == '__main__':    main()

从下列图片中可以看出我们已经把图片存储到mongoDB中了。
这里写图片描述