mongoDB 大文件存储方案, JS 支持展示
文件存储
方式分类
传统方式
存储路径 仅存储文件路径, 本质为 字符串
优点: 节省空间
缺点: 不真实存储在数据库, 文件或者数据库发送变动需要修改数据库
存储文件本身 将文件转换成 二进制 存储在数据库
优点: 文件在数据库中, 不容易丢失
缺点: 占用数据库空间较多, 文件存取效率不高
GridFS 文件存储方案
目的 更好的存取 MongoDB 中的大文件 ( 超过 16 m 就被认为大文件 )
1. 在 MongoDB 中创建两个集合, 共同存储文件
2. fs.files 集合用于存储文件信息, 为每个文件建立一个信息文档
3. fs.chunks 集合中建立与 fs.files 集合对应文件文档的关联, 将文件分块, 以 2 进制格式存储
优点: 存储方便, 提供了较好的存储命令
缺点: 读写效率较低, 不建议存储小文件
存取方法
存储
命令
mongofiles -d dbname put file
dbname 不存在的时候回自动创建
实例
mongofiles -d dbname put dict_demo/e_dict.txt
> db.fs.files.find()
{ "chunkSize" : 261120,
"uploadDate" : ISODate("2019-03-04T03:23:28.375Z"),
"length" : 16640891,
"md5" : "01b9e949829b44970d527425e8e93b12",
"filename" : "dict_demo/e_dict.txt" }
> db.fs.chunks.find()
{"_id": ...,
"files_id":....., 关联 files 表的ID
"n":38,
"data":BinDate(0,"ZlcmlvciB0byB0aGUgb.....HVzdSBpbmZ0aW1l") }
Type "it" for more
提取
命令
mongofiles -d dbname get file
实例
tarena@tedu:~$ mongofiles -d grid get dict_demo/e_dict.txt
2019-03-04T11:41:43.911+0800 connected to: localhost
finished writing to dict_demo/e_dict.txt
tarena@tedu:~$
mongo shell 对 JavaScript 的支持
界面支持 基本的 JS 程序
通过 JS 也可以处理一些简单的逻辑问题
> var cursor = db.class.find()
> cursor.next()
{
"_id" : ObjectId("5c775857c69c81d07212f58a"),
"name" : "yang",
"age" : 6,
"score" : [
98,
56,
32
]
}
>
mongoDB 大文件存储方案, JS 支持展示的更多相关文章
- MongoDb gridfs-ngnix文件存储方案
在各类系统应用服务端开发中,我们经常会遇到文件存储的问题. 常见的磁盘文件系统,DBMS传统文件流存储.今天我们看一下基于NoSQL数据库MongoDb的存储方案.笔者环境 以CentOS ...
- MongoDb gridfs-ngnix文件存储方案 - 图片
http://www.cnblogs.com/wintersun/p/4622205.html 在各类系统应用服务端开发中,我们经常会遇到文件存储的问题. 常见的磁盘文件系统,DBMS传统文件流存储. ...
- Hadoop小文件存储方案
原文地址:https://www.cnblogs.com/ballwql/p/8944025.html HDFS总体架构 在介绍文件存储方案之前,我觉得有必要先介绍下关于HDFS存储架构方面的一些知识 ...
- GitLab 之 Git LFS 大文件存储的配置
转载自:https://cloud.tencent.com/developer/article/1010589 1.Git LFS 介绍 Git 大文件存储(Large File Storage,简称 ...
- Sqlserver 高并发和大数据存储方案
Sqlserver 高并发和大数据存储方案 随着用户的日益递增,日活和峰值的暴涨,数据库处理性能面临着巨大的挑战.下面分享下对实际10万+峰值的平台的数据库优化方案.与大家一起讨论,互相学习提高! ...
- FastDFS安装(mac)|文件存储方案
目录 FastDFS安装(mac)|文件存储方案 1 FastDFS介绍 1.1 FastDFS架构 1.2 工作原理实例介绍 1.3 FastDFS上传和下载流程 1.4 FastDFS文件索引 2 ...
- Nginx|构建简单的文件服务器(mac) 续-FastDFS安装(mac)|文件存储方案
目录 Nginx|构建简单的文件服务器(mac) 1 所需安装包 2 安装fastdfs-nginx-module-master 3 安装Nginx Nginx|构建简单的文件服务器(mac) 续上文 ...
- mongo 固定集合,大文件存储,简单优化 + 三招解决MongoDB的磁盘IO问题
1.固定集合 > db.createCollection(, max:});//固定集合 必须 显式创建. 设置capped为true, 集合总大小xxx字节, [集合中json个数max] { ...
- MongoDB 搭建文件存储的方案
用云的话,节省你开发成本,快速上线,数据比较安全.缺点是一旦用了他们的,形成习惯以后,数据想迁移就会比较麻烦,你会越来越依赖,而且规模上去以后价格并不低.早年自己做的话,你需要实现分布式文件系统,这个 ...
随机推荐
- Microsoft Dynamics CRM 9.0 OP 版本 安装 的那些 雷
天天讲安装过程好无聊了,还是搞点有营养的东西来,那么后面来说说刚出来的MSCRM OP 9.0 版本安装的那些雷: 雷1:操作系统要求Windows 2016 Server 这点还好,因为之前安装MS ...
- JHipster技术栈定制 - JHipster Registry消息总线配置
本文说明了如何定制化JHipster-Registry,增加消息总线功能. 实现的效果就是修改配置中心的文件后,通过消息队列主动推送给微服务而无需重启微服务,实现配置内容热加载. 1 整体规划 1.1 ...
- powerdesigner生成mysql带注释的ER图
1.安装PowerDesigner的 参考 https://blog.csdn.net/sinat_34104446/article/details/79885141 2配置逆向工程 2.1新建模型p ...
- 【笔记】基于Python的数字图像处理
[博客导航] [Python相关] 前言 基于Python的数字图像处理,离不开相关处理的第三方库函数.搜索网络资源,列出如下资源链接. Python图像处理库到底用哪家 python计算机视觉编程— ...
- Django--session(登录用)
一.session的原理图 二.Django中session对象的设置/读取/删除及其他方法 三. Django--配置 settings.py中与session有关的参数 一.session的原理图 ...
- 【English】20190315
accelerate 加速 [ækˈsɛləˌret] Our goal is to help you be more successful in your role and work togeth ...
- 研究好vif 和vshow
另外从源头上处理的???,怎么自己排查出错误??必须 ??https://www.jb51.net/article/124116.htm
- Vue父组件向子组件传递一个动态的值,子组件如何保持实时更新实时更新?
原文:https://blog.csdn.net/zhouweixue_vivi/article/details/78550738 2017年11月16日 14:22:50 zhouweixue_vi ...
- Linux运维基础
一.服务器硬件 二.Linux的发展史 三.Linux的系统安装和配置 四.Xshell的安装和优化 五.远程连接排错 六.Linux命令初识 七.Linux系统初识与优化 八.Linux目录结构 九 ...
- Bootstrap日期和时间表单组件
http://www.bootcss.com/p/bootstrap-datetimepicker/ 项目 MarketPoint