mogodb GridFS使用

https://www.runoob.com/mongodb/mongodb-gridfs.html
https://blog.csdn.net/wzy0623/article/details/82894835

PS D:\program\mongodb4.2.4\bin> ./mongofiles put E:\hh\lyai\doc\测试\stack.txt
2020-03-14T14:35:02.111+0800    connected to: mongodb://localhost/
2020-03-14T14:35:03.352+0800    added gridFile: E:\hh\lyai\doc\测试\stack.txt

PS D:\program\mongodb4.2.4\bin> .\mongofiles.exe search stack
2020-03-14T14:37:44.987+0800    connected to: mongodb://localhost/
E:\hh\lyai\doc\测试\stack.txt   4072
PS D:\program\mongodb4.2.4\bin> .\mongofiles.exe get 4072
2020-03-14T14:38:21.633+0800    connected to: mongodb://localhost/
2020-03-14T14:38:21.666+0800    Failed: no such file with name: 4072
PS D:\program\mongodb4.2.4\bin> .\mongofiles.exe get E:\hh\lyai\doc\测试\stack.txt
2020-03-14T14:38:40.165+0800    connected to: mongodb://localhost/
2020-03-14T14:38:40.323+0800    finished writing to E:\hh\lyai\doc\测试\stack.txt

PS D:\program\mongodb4.2.4\bin> .\mongofiles.exe get E:\hh\lyai\doc\测试\stack.txt
2020-03-14T14:39:26.901+0800    connected to: mongodb://localhost/
2020-03-14T14:39:26.955+0800    finished writing to E:\hh\lyai\doc\测试\stack.txt

#上传指定文件名
Put: 从"C:\Users\ChangQing\Pictures\a.jpg"上传文件a.jpg,存在数据库mytest中,命名为"changqing"
mongofiles -d gridfs -l "C:\Users\ChangQing\Pictures\a.jpg" put "changqing"
mongofiles -d gridfs put "C:\Users\ChangQing\Pictures\a.jpg" //此种方式上传文件名即为C:\Users\ChangQing\Pictures\a.jpg
Get: 从数据库gridfs下载文件"changqing""C:\Users\ChangQing\Pictures\a\a.jpg"
mongofiles -d gridfs -l "C:\Users\ChangQing\Pictures\a\a.jpg" get "changqing"
List: 查看文件列表
mongofiles -d gridfs list
Search: 查找名为"changqing"的文件
mongofiles -d gridfs search "changqing"
Delete:删除名为"changqing"的文件
mongofiles -d gridfs delete "changqing"
其中-d指定数据库实例,-l[--local]:上传/下载时的本地文件名,默认与gridfs上的文件名一致。

#下载到指定目录
 ./mongofiles -d zzz -l ./z1.txt get E:\hh\lyai\doc\测试\stack.txt
2020-03-14T15:51:58.499+0800    connected to: mongodb://localhost/
2020-03-14T15:51:58.539+0800    finished writing to ./z1.txt

数据库查询文件


.\mongo.exe
 use zzz
 db.fs.files.find()
 
 { "_id" : ObjectId("5e6c8806c0e236a4a69ee765"), "length" : NumberLong(4072), "chunkSize" : 261120, "uploadDate" : ISODate("2020-03-14T07:30:16.014Z"), "filename" : "E:\\hh\\lyai\\doc\\测试\\stack.txt", "metadata" : {  } }
 # fs.chunks 集合中所有的区块
db.fs.chunks.find({files_id:ObjectId('5e6c8806c0e236a4a69ee765')})

gridFS简介
GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。

http://www.mongodb.org/display/DOCS/GridFS

http://www.mongodb.org/display/DOCS/GridFS+Specification
GridFS使用
MongoDB提供了一个命令行工具mongofiles可以来处理GridFS,在bin目录下。

列出所有文件:

mongofiles list

上传一个文件:

mongofiles put xxx.txt

下载一个文件:

mongofiles get xxx.txt

查找文件:

mongofiles search xxx //会查找所有文件名中包含“xxx”的文件

mongofiles list xxx //会查找所有文件名以“xxx”为前缀的文件

参数说明:

–d 指定数据库 ,默认是fs,Mongofiles list –d testGridfs

-u –p 指定用户名,密码

-h 指定主机

-port 指定主机端口

-c 指定集合名,默认是fs

-t 指定文件的MIME类型,默认会忽略

使用MongoVUE来查看,管理GridFS
MongoVUE地址:http://www.mongovue.com/

MongoVUE是个免费软件,但超过15天后功能受限。可以通过删除以下注册表项来解除限制:

[HKEY_CURRENT_USER\Software\Classes\CLSID{B1159E65-821C3-21C5-CE21-34A484D54444}\4FF78130]

把这个项下的值全删掉就可以了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值