GridFS 存储文件

GridFS 是Mongo 的一种存储机制,用来存储大型二进制文件。
1. GridFS是用于存储和检索超过16MB的BSON文档大小限制的文件的解决方案。
2.GridFS是MongoDB用来存储大型二进制文件的一种存储机制。
3.GridFS 不是将文件存储在单个文档中,而是将文件分为块,并将每个块作为单独的文档存储,默认情况下,GridFS使用的块大小为256kb。
4. GridFS 使用两个集合存储文件,一个集合文件的块(fs.files),另一个存储文件的原始数据(fs.chunks)。

优点
1:能够简化技术栈,如果已经使用了MongoDB,那么使用GridFS,就不需要其它独
立的存储工具了
2:GridFS会自动平衡已有的复制,或者为MongoDB设置的自动分片,所以对文件存
储做故障转移或者是横向扩展会更容易 。
3:GridFS的功能不错,能自动解决一些其他文件系统遇到的问题,如在同一个目录
下存储大量的文件

缺点
1: 性能较低,不如直接访问文件系统快。
2:无法修改文档。如果要修改GridFS里面的文档,只能是先删除再添加

mongofiles

mongofiles –help 可以查看 帮助
storage options 如下:

storage options:
  -d, --db=<database-name>                        database to use (default is 'test') (default: test)
  -l, --local=<filename>                          local filename for put|get
  -t, --type=                                     content/MIME type for put (optional)
  -r, --replace                                   remove other files with same name after put
      --prefix=<prefix>                           GridFS prefix to use (default is 'fs') (default: fs)
      --writeConcern=<write-concern>              write concern options e.g. --writeConcern majority,
                                                  --writeConcern '{w: 3, wtimeout: 500, fsync: true, j: true}'
                                                  (defaults to 'majority') (default: majority)

常用命令:

命令描述备注
list列出GridFS存储的文件 或以 xxx 开头的文件返回匹配文件; 未加参数返回全部
search搜索 包含 xxx 字符文件名的文件
put保存文件mongofiles -l ./xxx.xx put xxx.xx (需要指定存入名)
get通过文件名下载文件mongofiles -l ./xxx.xx get xxx.xx
get_id通过 _id下载文件
delete通过文件名 删除指定的文件
delete_id通过 _id 删除指定的文件

mongofiles 文档

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值