Heim >Datenbank >MySQL-Tutorial >mongodb固定集合(Capped Collection)和大文件管理(GridFS)

mongodb固定集合(Capped Collection)和大文件管理(GridFS)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 17:56:121217Durchsuche

CappedCollection 查看集合的状态信息db.cot1.stats(); // 查看集合cot1的状态信息 删掉指定集合db.collection1.drop(); // 删除collection1集合 mongoDB中集合创建默认是隐式创建的,可以使用createCollection显示创建集合db.createCollection( "collect" );

Capped Collection

查看集合的状态信息 db.cot1.stats(); //查看集合cot1的状态信息 删掉指定集合 db.collection1.drop(); //删除collection1集合 mongoDB中集合创建默认是隐式创建的,可以使用createCollection显示创建集合 db.createCollection("collect"); 删掉指定数据库 db.dropDatabase(); //删除当前数据库 查询所有数据库 show dbs //查询所有数据库 显示当前库中所有集合 show tables; 或者 show collections;

 

固定集合的功能特点

 

固定集合属性及用法:

属性1:对固定集合进行插入速度极快

属性2:按照插入顺序的查询输出速度极快

 

用法1:储存日志信息

用法2:缓存一些少量的文档

 

创建固定集合

eg. db.createCollection("collect",{capped:true, size:10000});

 

可以再创建capped collection时指定collection中能够存放的最大文档数目,但这是要指定size,因为总是先检查size后检查maxRowNumber.可以使用validate()查看一个collection已经使用了多少空间,从而决定size设为多大. > db.createCollection("mycappedcoll",{capped:true,size:10000,max:100}) { "ok" : 1 } > db.mycappedcoll.validate(); 创建collection时还有一个参数”autoIndexID”,值可以为”true”和”false”,决定是否需要在”_id”上创建索引,例如 > db.createCollection("mycappedcoll",{capped:true,size:10000,max:100,autoIndexId:false}) 默认情况下对一般的collection是创建索引的,但不会对capped collection创建.capped collection不能被Shard,这也是有道理的,一个经常被刷新且大小固定的表,做Sharding(分片)也没太大意义.

 

转换集合

把普通的集合转换成固定集合需要使用convertTocapped命令

db.runCommand( { convertTocapped:"test",size:10000 } );

 

自然排序

db.mycappedcolt.find().sort( {"$natural":1} );

 

判断集合是否为固定集合

db.colt.isCapped();

 

查看集合状态信息

db.colt.stats();

 

GridFS

GridFS可以避免用户上传内容的文件系统出现问题.

GridFS不产生磁盘碎片

 

GridFS存储数据

GrdiFS使用两个表来存储数据:

files 包含元数据对象

chunks 包含其他一些相关信息的二进制块.

各种第三方语言可以更改其前缀

 

使用GridFS mongofiles

eg. ./mongofiles put testfile.zip ./mongofiles list ./mongofiles get testfile.zip ./mongofiles delete testfile.zip 验证md5 mg5sum testfiles.zip 此时登录mongo,show tables可以看到新增2个文件fs.files和fs.chunks. 查看fs.files中的内容 db.fs.files.find(); fs.files 中存储的是一些基础的元数据信息. db.fs.chunks.find(); fs.chunks 中存储的是一些实际的内容数据信息.

转载请注明出处:[]

 

 

在线交谈

 

 

,香港服务器租用,香港服务器,香港虚拟主机
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn