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 搭建文件存储的方案
用云的话,节省你开发成本,快速上线,数据比较安全.缺点是一旦用了他们的,形成习惯以后,数据想迁移就会比较麻烦,你会越来越依赖,而且规模上去以后价格并不低.早年自己做的话,你需要实现分布式文件系统,这个 ...
随机推荐
- 一幅图,看懂中国CMMI
以下数据由Fancier凡奉信息根据历年CMMI Institute公布的CMMI评估结果的汇总整理.数据跨度2008-2017年,包含对中国CMMI与全球CMMI的不同等级.版本的统计.
- 【English】二、It作为代词,可以代指什么
it的用法 一.用作人称代词: 1.指代事物: — What’s this? — It’s a cat.2.指代人:常用于不知对方性别时,比如:询问敲门人或打电话时询问对方是谁,或者用来指代婴儿. ( ...
- 【Linux】阿里云ECS提示RHSA-2017:3263: curl security update(CentOS 7 更新 curl 为最新版本)
1.前言 由于 CentOS 7 内置的 curl 和 libcurl 源为较旧的 7.29.0,不支持一些新特性且有安全性问题,所以需要更新一下. 2.开始 1.更新ca-bundle · 首先备份 ...
- SQLServer之创建分布式事务
分布式事务创建注意事项 指定一个由 Transact-SQL 分布式事务处理协调器 (MS DTC) 管理的 Microsoft 分布式事务的起点. 执行 BEGIN DISTRIBUTED TRAN ...
- Bootstrap Multiselect插件使用步骤以及常见参数配置介绍
Multiselect是基于jQuery插件的,它可以以下拉列表的形式为用户提供选择内容,能进行单选或者多选.它应用的主要步骤如下: 一,引入需要的相关js和css文件 既然是Bootstrap插件, ...
- 使用Python的Mock库进行PySpark单元测试
测试是软件开发中的基础工作,它经常被数据开发者忽视,但是它很重要.在本文中会展示如何使用Python的uniittest.mock库对一段PySpark代码进行测试.笔者会从数据科学家的视角来进行描述 ...
- HBase源码实战:CreateRandomStoreFile
/* * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agre ...
- Ubuntu 18.04.1 下快速搭建 LNMP环境
1.Nginx的安装 Nginx安装是属于最简单的,只需要在命令行执行 sudo apt-get install nginx 就能自动安装 Nginx,其中过程中需要 选择 Y/n 的选择Y就行了,当 ...
- 解决OrangePi 耳机孔没有声音
遇到过插入耳机后没有声音,解决步骤如下: 打开终端TERMINAL(LUBUNTU按CTRL+ALT+T,MATE选SYSTERM ADMINSTRATION-MATER TERMINAL),SSH登 ...
- Jetson TX2(2)ubutu1604--安装opencv3.4.0
1安装OpenCV3.4.0+contrib 1 在终端中敲入以下两句sudo rm /var/cache/apt/archives/locksudo rm /var/lib/dpkg/lock su ...