GridFS Example
http://api.mongodb.com/python/current/examples/gridfs.html
This example shows how to use gridfs
to store large binary objects (e.g. files) in MongoDB.
See also
The API docs for gridfs
.
See also
This blog post for some motivation behind this API.
Setup
We start by creating a GridFS
instance to use:
>>> from pymongo import MongoClient
>>> import gridfs
>>>
>>> db = MongoClient().gridfs_example
>>> fs = gridfs.GridFS(db)
Every GridFS
instance is created with and will operate on a specific Database
instance.
Saving and Retrieving Data
The simplest way to work with gridfs
is to use its key/value interface (the put()
and get()
methods). To write data to GridFS, use put()
:
>>> a = fs.put(b"hello world")
put()
creates a new file in GridFS, and returns the value of the file document’s "_id"
key. Given that "_id"
we can use get()
to get back the contents of the file:
>>> fs.get(a).read()
'hello world'
get()
returns a file-like object, so we get the file’s contents by calling read()
.
In addition to putting a str
as a GridFS file, we can also put any file-like object (an object with a read()
method). GridFS will handle reading the file in chunk-sized segments automatically. We can also add additional attributes to the file as keyword arguments:
>>> b = fs.put(fs.get(a), filename="foo", bar="baz")
>>> out = fs.get(b)
>>> out.read()
'hello world'
>>> out.filename
u'foo'
>>> out.bar
u'baz'
>>> out.upload_date
datetime.datetime(...)
The attributes we set in put()
are stored in the file document, and retrievable after calling get()
. Some attributes (like "filename"
) are special and are defined in the GridFS specification - see that document for more details.
GridFS Example的更多相关文章
- 实验mongodb使用gridfs存放一个大文件
1.启动mongoDB 2.使用gridfs存放大文件 3.观察fs.chunks和fs.files的情况 命令 db.fs.chunks.find()查到的是一些二进制文件:
- 【荐】PHP操作MongoDB GridFS 存储文件,如图片文件
GridFS是MongoDB的一个内置功能,它提供一组文件操作的API以利用MongoDB存储文件,GridFS的基本原理是将文件保存在两个Collection中,一个保存文件索引,一个保存文件内容, ...
- CentOS6.3搭建Nginx代理访问MongoDB GridFS图片资源
PHP可以直接读取MongoDB GridFS中的图片并显示到页面中,但对PHP的压力就大了.偶然机会,了解到Nginx可以代理访问,实现过程如下: 1.工具准备 安装一些必要的编译工具及库,这里是直 ...
- MongoDB(八)Mongodb——GridFS存储
mongoDB的文档以BSON格式存储,支持二进制的数据类型,当我们把二进制格式的数据直接保存到mongoDB的文档中.但是当文件太大时,例如图片和视频等文件,每个文档的长度是有限的,于是mongoD ...
- MongoDB GridFS 对图片进行增删改
using MongoDB.Bson; using MongoDB.Driver; using MongoDB.Driver.Builders; using MongoDB.Driver.GridFS ...
- MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本
介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...
- Mongodb——GridFS
GridFS用于存储和恢复那些超过16M(BSON文件限制)的文件. GridFS将文件分成大块,将每个大块存储为单独的文件.GridFS中限制chunk最大为256k.GridFS使用两个colle ...
- MongoDB的学习和使用(MongoDB GridFS)
MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片.音频.视频等). GridFS 也是文件存储的一种方式,但是它是存储在MonoDB的集合中 ...
- 将gridFS中的图片文件写入硬盘
开启用户验证下的gridfs 连接使用,在执行脚本前可以在python shell中 from pymongo import Connectionfrom gridfs import *con = C ...
- GridFS图片
-----------2016-5-9 18:58:56-- source:GridFS实现图片的存取
随机推荐
- aws小结
IAM:亚马逊访问权限控制(AWS Identity and Access Management ) https://www.cnblogs.com/andy9468/p/10635019.html ...
- mysqldump备份数据出错
收到nagios报警,提示mysql备份失败,线上使用的是逻辑备份,也就是使用mysqldump,由于数据比较小,也就没在乎速度神马的问题.好吧,那就查查是什么原因导致备份失败,由于备份是写成脚本定时 ...
- mysql创建计算列(5.7以后才有)
mysql创建计算列 mysql> create table t(id int auto_increment not null,c1 int,c2 int,c3 int as (c1+c2) ...
- linux 查看网卡流量:sar
sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,但我们一般用来监控网卡流量 # 安装 ...
- Got timeout reading communication packets解决方法
Got timeout reading communication packets解决方法 http://www.th7.cn/db/mysql/201702/225243.shtml [Note] ...
- wx.Panel
Panel是窗口的容器,通常其大小与Frame一样,在其上放置各种控件,这样可将窗口内容与工具栏及状态栏区分开,能过TAB键可遍历Panel中的元素 小构件,如按钮,文本框等被放置在面板窗口. w ...
- mac chrome 浏览器开启允许跨域
在控制台输入下面代码: open -n /Applications/Google\ Chrome.app/ --args --disable-web-security --user-data-dir ...
- file相关方法
File文件,getAbsolutePath方法 public String getAbsolutePath() 该方法的作用是获得当前文件或文件夹的绝对路径.例如c:\test\1.t则返回c:\t ...
- ppt 调整 页面 白色区域 大小
1: 点击设计>大小 2:点击确保适合 3:成功
- 多线程——继承Thread类实现一个多线程
继承Thread类实现一个多线程 Thread类部分源码: package java.lang; //该类实现了Runnable接口 public class Thread implements Ru ...