12.GridFS文件系统

1.概念

GridFS是mongoDB自带的文件系统,它以二进制的形式存储文件 大型文件系统的绝大多数特性GridFS全可以完成。

  • GridFS会直接利用已建立的复制、分片机制;
  • GridFS可以避免传统文件系统的某些弊端,例如同一目录下文件数量过多;
  • GridFS不会产生磁盘碎片;

两个明确:

  • 1.GridFS并非MongoDB的内部特性,它是所有官方驱动用来在数据库中管理大型二进制对象的一个惯例
  • 2.GridFS没有真实文件系统那样丰富的语义。它没有锁和并发的协议,这就把GridFS接口限制在了简单的提交(put)、获取(get)和删除(delete)操作上。也就是说,想要更新一个文件,需要先删除,然后再提交新版本。

存储原理:

GridFS会把大文件拆分成小的256KB的块,将每个块都保存在单独的文档里。这些块默认保存在名为fs.chunks的集合中。写完块之后,文件的元数据会被放到名为fs.files的另一集合中,用单独的文档来保存。

利用的工具 :
mongofiles.exe(Windows)
mongofiles.sh(Linux)

2.使用GridFS

2.1查看GridFS的所有功能

在cmd 命令行输入:

mongofiles --help

这里写图片描述

2.2上传一个文件

mongofiles -d foobar -l "E:\a.txt" put "a.txt“  

这里写图片描述

2.3查看GridFS的文件存储状态

利用VUE查看
这里写图片描述

这里写图片描述
集合命令查看

db.fs.chunks.find() 和 db.fs.files.find() 

2.4查看文件内容

C:\Users\thinkpad>mongofiles -d foobar get "a.txt“ 

VUE可以查看,shell无法打开文件

2.5 查看所有文件

mongofiles -d foobar list

这里写图片描述

2.6 删除已经存在的文件VUE中操作

mongofiles -d foobar delete 'a.txt'  

这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值