mongodb文档太大_使用MongoDB存储大文件

MongoDB的GridFS解决方案用于处理超过16MB的大文件存储,通过将文件切分成255KB的chunk存储在fs.files和fs.chunks集合中。上传和下载文件的Java代码示例展示了如何操作GridFS,包括设置chunk大小和获取文件内容。通过GridFS,可以方便地在MongoDB中管理大文件。
摘要由CSDN通过智能技术生成

GridFS是用来解决大文件(>16M)存储问题,因为mongo的BSON格式的document最大支持就是16M

使用GridFS,在存储文件之后,你会看到两张表:fs.files和fs.chunks

为了突破单个文档的存储限制,GridFS的做法是将文件切分成一个个的chunk存储。fs.files只存储文件的基本信息

真正的文件数据存在fs.chunks中

GridFS默认将文件切分为每个255K大小的chunk。

比如我上传了一个119M的压缩文件。

看下最后用了470个chunk。470*255 = 119850K

看一下fs.files的数据结构

{ "_id" : ObjectId("5c8f0d788279cf2a7ca422bb"), "filename" : "test.rar", :文件名 "aliases" : null, :别名,非必须 "chunkSize" : NumberLong(261120),:表示每个chunk的大小。261120就是255K "uploadDate" : ISODate("2019-03-18T03:16:08.082Z"),:上传时间 "length" : NumberLong(122144297),:上传的文件大小,单位是byte "contentType" : "rar

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值