gridfs 是一种在mongodb中存储大二进制文件的机制,使用gridfs的原因:
1、存储巨大的文件(视频图片)。
2、利用GRIDFS可以简化需求。
3、GRIDFS 利用已经建立起来的复制以及分片机制,故障回复和拓展都很容易。
4、gridfs 可以避免用户上传文件的系统出问题。
5、不产生此片碎片。
简介:gridfs 使用两个表格来存储数据: files 包含元数据对象,chunks包含其他的一些相关的二进制块。
为了使多个grdifs 命名为一个单一的数据库 文件与块都有一个前缀,默认为fs,包含 fs.files 和 fs.chunks。 各种其他的第三方语言可以更改前缀。
使用简介: 目录中包含mongofile 文件 进入 bin
例如:
/usr/local/mongodb/mongofiles put '/home/timeless/桌面/2000多个域名' -u root -p Enter password: connected to: 127.0.0.1 added file: { _id: ObjectId('550d5ae73c11b4f50c88c99e'), filename: "/home/timeless/桌面/2000多个域名", chunkSize: 261120, uploadDate: new Date(1426938599982), md5: "025141eb3b856cb1d05f51c8b1fac3ec", length: 62 } done!
//登陆MONGO >/usr/local/mongodb/mongo -uroot -p MongoDB shell version: 2.6.6 Enter password: connecting to: test > show collections fs.chunks fs.files person stocks system.indexes> db.fs.files.find() { "_id" : ObjectId("550d5ae73c11b4f50c88c99e"), "filename" : "/home/timeless/桌面/2000多个域名", "chunkSize" : 261120, "uploadDate" : ISODate("2015-03-21T11:49:59.982Z"), "md5" : "025141eb3b856cb1d05f51c8b1fac3ec", "length" : 62 } > db.fs.chunks.find() { "_id" : ObjectId("550d5ae7e67b9f05743cdc35"), "files_id" : ObjectId("550d5ae73c11b4f50c88c99e"), "n" : 0, "data" : BinData(0,"d2hvaXMgcHJpdmFjeSBwcm90ZWN0aW9uIHNlcnZpY2UgYnkgdmFsdWUtZG9tYWluICAgIOazqOWGjOS6ugo=") } >
列出现在的文件信息
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$ /usr/local/mongodb/mongofiles list -u root -p Enter password: connected to: 127.0.0.1 /home/timeless/桌面/2000多个域名 62 timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$
下载当前文件
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$ /usr/local/mongodb/mongofiles get /home/timeless/桌面/2000多个域名 -u root -p Enter password: connected to: 127.0.0.1 done write to: /home/timeless/桌面/2000多个域名
删除指定文件
timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$ /usr/local/mongodb/mongofiles delete /home/timeless/桌面/2000多个域名 -u root -p Enter password: connected to: 127.0.0.1 done! timeless@timeless-HP-Pavilion-g4-Notebook-PC:~$