mongoDB应用篇——固定集合和GridFS文件

本文详细介绍了MongoDB中的固定集合(Capped Collection)和GridFS文件系统。固定集合适用于存储日志和缓存,具有固定大小并遵循LRU原则。创建与查看固定集合的方法也进行了说明。而GridFS是用于存储大文件的机制,通过.files和.chunks两个集合存储元数据和文件内容,支持上传、下载和删除操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



 本篇介绍mongoDB应用中常用的两个对象,固定集合和GridFS文件

一、Capped Collection固定集合

1、介绍

固定集合顾名思义,有着固定大小的collection集合,除了大小固定的特点之外,它与普通集合不同之处,还在于固定集合以LRU(Least Recently Used)最近最少使用原则进行数据存储,在固定的容量下,如果空间用完,将不常使用的数据移出集合,保证集合中的数据永远保持最新。

所以根据固定集合的特点,它的主要应用场景就是用于存储日志信息和充当缓存存取少量文档。

2、创建固定集合

固定集合的创建不像普通集合隐士创建(crud时直接传入参数名,若DB中无该集合则直接创建),固定集合的创建必须通过createCollection方法进行

Db.createCollection(“testImage”,{capped:true,size:10000})

如上,创建一个名为testImage,大小为10M的固定集合

3、查看集合状态

如何查看一个集合是否为固定集合

Db.testImage.stats();

或者Db.testImage.isCapped();

4、将普通集合转换成固定集合

Db.runCommand({convertTocapped:testImage,size:10000})

二、GridFS大文件管理

GridFS是MongoDB中用于存储大二进制文件的机制,例如用于存储视频、高清图片等,它的优越之处在于GridFS会直接利用已建立的分片机制,在数据存储时不会产生任何磁盘碎片。

GridFS通过两个表来存储数据,[.files]存储元数据对象,文件名基本属性,[.chunks]用于存储文件二进制信息、文件内容。上篇博客中将图片上传下载上就已经应用到GridFS文件简单介绍了分布式文件存储的特点,在此不再赘述,大家有兴趣可以查阅上一篇博客。

2、上传下载文件到GridFS

在MongoDB中,通过【get +文件名】下载GridFS 中的文件,【put+文件名】上传文件到GridFS,【delete +文件名】 删除GridFS中的文件。例如”:

./mongofiles put mongoTest.tar.gz

./mongofiles get mongoTest.tar.gz

./mongofiles delete  mongoTest.tar.gz

3、查看fs.files中的内容

db.fs.files.find()

 

除了通过增删改查语句了解MongoDB的面向集合、对象特性之外,在MongoDB实际应用中常用的对象如本文介绍的固定集合和GridFS文件,也需要我们先了解、再应用才能确定自己对MongoDB有点概念和自己的认识。

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值