用Mongodb基于GridFS存储文件

原创 2011年03月29日 22:14:00

在Mongodb中以GridFSB方式存放文件有两种方式:1、命令行方式mongofiles 2、客户端驱动编程(以Java为例)

1、命令行方式mongofiles

在bin目录下有一个命令mongofiles.exe,即可完成命令行下向Mongodb数据库中插入文件数据。这里以前述所搭的4个分片,每分片3个复制集,3个ConfigSever ,1个路由节点的Windows的模拟集群为例。

D:/mongodb-win32-i386-1.8.0/bin>mongofiles.exe -host 127.0.0.1:50000 -d wlb put mongodump.exe
connected to: 127.0.0.1:50000
added file: { _id: ObjectId('4d91dbc1fb02c495a0a479d7'), filename: "mongodump.exe", chunkSize: 262144, uploadDate: new Date(1301404609850), md5: "647dcae88077e6
fa2bb3be6b0cdebb07", length: 3271680 }
done!

向数据库wlb中插入一个文件,即Mongodb/bin/mongodump.exe,所使用的Mongodb集群的路由节点为127.0.0.1,端口为50000,其中put为命令,表示向Mongodb中上传文件,也存在get、delete两个其它命令,分别表示取得文件和删除文件。

以如下命令启动mongo,进入wlb数据库,执行 db.fs.files.find()即可看到GridFS中的文件列表.

D:/mongodb-win32-i386-1.8.0/cmd>cd d:/mongodb-win32-i386-1.8.0/bin
D:/mongodb-win32-i386-1.8.0/bin>call mongo.exe 127.0.0.1:50000/admin
MongoDB shell version: 1.8.0
connecting to: 127.0.0.1:50000/admin
> use wlb
switched to db wlb
> db.fs.files.find()
{ "_id" : ObjectId("4d91dbc1fb02c495a0a479d7"), "filename" : "mongodump.exe", "chunkSize" : 262144, "uploadDate" : ISODate("2011-03-29T13:16:49.850Z"), "md5" :
"647dcae88077e6fa2bb3be6b0cdebb07", "length" : 3271680 }

2、以Java API来存取文件

这里以mongo-2.5.jar为例,代码如下:

MongoDB 进阶(GridFS)

GridFS是一种在MongoDB中存储大二进制文件的机制。使用GridFS存文件有如下几个原因:● GridFS可以简化需求。如果已经用了MongoDB,GridFS就可以不需要独立的文件存储架...
  • lichangzai
  • lichangzai
  • 2016年02月22日 16:46
  • 4403

MongoDB GridFS最佳应用概述

《MongoDB GridFS的最佳应用概述》作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszsGridFS是MongoDB数据库之上的一个简单文件系统抽象。...
  • chszs
  • chszs
  • 2014年02月28日 10:21
  • 14822

MongoDB GridFS java存取文件

GridFS首先会在当前数据库创建两个集合:"fs.files"和"fs.chunks"集合,前者记录了文件名,文件创建时间,文件类型等基本信息;后者分块存储了文件的二进制数据(并支持加密这些二进制数...
  • tianwei7518
  • tianwei7518
  • 2015年03月15日 18:33
  • 6448

MongoDB学习之旅十一:MongoDB GridFS

GridFS 是一种将大型文件存储在MongoDB 数据库中的文件规范。所有官方支持的驱动均实 现了GridFS 规范。 7.1 为什么要用GridFS 由于MongoDB 中BSON 对象大小...
  • u013339851
  • u013339851
  • 2014年04月13日 17:14
  • 2398

如何向MongoDB中存入文件?

引言      在前面的博客中给大家介绍了我们如何从MongoDB数据库中读取文件并显示在界面中,从我们的代码中可以看出这 个过程是比较简单的,那么下面就给大家介绍如何向MongoDB数据库中...
  • u013045437
  • u013045437
  • 2016年01月18日 15:01
  • 4682

GridFS是一种将大型文件存储在MongoDB的文件

GridFS是一种将大型文件存储在MongoDB的文件规范: 数据库支持以BSON格式保存二进制对象。 但是MongoDB中BSON对象最大不能超过4MB。 GridFS 规范提供...
  • u013870094
  • u013870094
  • 2016年10月19日 09:45
  • 3017

MongoDB的分布式文件存储系统

对于MongoDB的存储基本单元BSON文档对象,字段值可以是二进制类型,基于此特点,我们可以直接在MongoDB中存储文件,但是有一个限制,由于MongoDB中单个BSON对象不能大于16MB,故而...
  • linfenliang
  • linfenliang
  • 2017年03月06日 15:17
  • 953

mongodb存储图片和文件实践

可能很多人会问为何要用mongodb存储图片和文件,我的理由是mongodb作存储方便稳定易扩展,我们自己写的文件存储服务器肯定很LOW,除了含有巨量图片的大型系统,一般由公司自研图片存储外,大部分情...
  • javahongxi
  • javahongxi
  • 2017年07月02日 16:43
  • 1920

MongoDB GridFS存储文件

GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片、音频、视频等)。 GridFS 也是文件存储的一种方式,但是它是存储在MonoDB的集合中。 GridFS ...
  • qq_20545159
  • qq_20545159
  • 2015年09月24日 00:20
  • 651

mongodb存取图片文件功能

Mongodb
  • u010476464
  • u010476464
  • 2015年08月14日 10:28
  • 6193
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用Mongodb基于GridFS存储文件
举报原因:
原因补充:

(最多只允许输入30个字)