• 技术文章 >数据库 >MongoDB

    mongodb怎么存入图片

    silencementsilencement2020-02-15 13:43:30原创4794

    利用mongodb保存图片通常有两种方法,一种是将图片数据转化为二进制作为字典的键值对进行保存,另一种是利用mongodb提供的

    GridFS进行保存,两者各有利弊。

    GridFS

    GridFS将图片数据与图片属性数据分开保存,用chunks来保存图片数据,files保存属性数据,一个图片file可能对应多个chunks,每个

    chunk的内存大小固定(16M),若图片数据大于chunk,则分为多个chunk保存,用同一个ObjectID关联,下载时自动将多个chunk合

    并为图片数据。

    bson二进制

    这种方法将图片数据作为键值对放入字典与属性数据作为整体存入数据库中。

    上传代码如下

    from bson import binary
    from pymongo import MongoClient
    
    client = MongoClient('127.0.0.1', 27017) #连接mongodb
    db = client.photo #连接对应数据库
    image_collection = db.images
    data = requests.get(dic["photo_url"], timeout=10).content
    # 确认数据库中不存在此图片之后再保存
    if not image_collection.find_one({"photo_url":dic["photo_url"]})
        dic["imagecontent"] = binary.Binary(data)
        image_collection.insert(dic)1234567891011

    推荐学习《Python教程》。

    专题推荐:数据库
    上一篇:mongodb安装后如何连接已有数据库 下一篇:为什么win7安装mongodb无法启动服务

    相关文章推荐

    • mongodb中怎么创建数据库• mongodb面试会问到什么• 如何配置mongodb数据库• mongodb和数据库的区别是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网