用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为例,代码如下:

Java上传文件到MongoDB GirdFS

OpenUploadStream方式上传文件到MongDB GirdFS,Java驱动
  • ruangong1203
  • ruangong1203
  • 2016-04-03 12:01:06
  • 2731

Mongodb GridFS中对文件的上传、下载、删除

因为公司之前电商系统的图片存储用的是mongodb,所以昨天讨论后把原定的fastfds改用为mongodb的gridfs。  mongodb的分片机制也是高可用,高可扩展的。  mongodb3.2...
  • w172087242
  • w172087242
  • 2016-07-19 15:26:33
  • 5826

MongoDB GridFS java存取文件

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

mongodb GridFS

MongoDB GridFS 因为业务的原因,会存储到图片数据,以往在SQL中,都是利用文件系统来存放图片。但是文件系统存在的问题是,不可以备份,无法容灾。 优势:那么使用GridFS的理由,好处具体...
  • tang_jin2015
  • tang_jin2015
  • 2016-12-03 09:54:04
  • 878

MongoDB 进阶(GridFS)

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

MongoDB之GridFS

【MongoDB是什么?】 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之...
  • yangyatou1991
  • yangyatou1991
  • 2017-05-07 15:39:37
  • 2212

MongoDB GridFS最佳应用概述

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

GridFS详细分析

GridFS简介 GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。 http://www.mongodb.org/display/DOCS/GridFS http://ww...
  • hengyunabc
  • hengyunabc
  • 2012-02-25 19:21:10
  • 30544

使用GridFsTemplate在mongodb中存取文件

使用GridFsTemplate在mongodb中存取文件
  • frankcheng5143
  • frankcheng5143
  • 2017-09-03 21:03:02
  • 1688

java 实现mongodb中gridFS文件存储

@Override public void saveFileToMongo(SpecialPage page,String path) { try { File file = new File(pat...
  • xiao_287130
  • xiao_287130
  • 2016-07-10 20:55:13
  • 909
收藏助手
不良信息举报
您举报文章:用Mongodb基于GridFS存储文件
举报原因:
原因补充:

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