【MongoDB】Capped固定大小/数量集合

不同于普通集合,固定集合必须在使用之前显示创建,可以使用create命令创建固定集合。在shell中,可以使用db.createCollection函数:

//创建大小为1024字节的固定集合
db.createCollection("capped",{capped:true,size:1024});

//创建大小为1024字节,文档数量为100的固定集合
db.createCollection("capped",{capped:true,size:1024,max:100});

值得注意的是, size参数为必选项, max参数为可选项。不管先达到哪个限制,之后插入的新文档会把旧文档挤出集合,固定集合的文档数量不能超过设置的文档数量,固定集合的大小也不能超过设置的大小。

固定集合创建之后,就不能改变了,如需修改固定集合的属性,就只能删除后再创建了。因此,在创建大的固定集合之前应该仔细想清楚它的大小。

除此之外,还可以使用convertToCapped命令将常规集合转换为固定集合:

db.runCommand({convertToCapped:"test", size:1024, max:100});

注意,无法将固定集合转换为非固定集合。

时间: 2024-10-07 06:07:47

【MongoDB】Capped固定大小/数量集合的相关文章

mongodb的固定集合(优化效率)

mongodb固定集合(Capped Collection)和大文件管理(GridFS) Capped Collection 固定集合(Capped Collection)是性能出色的有着固定大小的集合,以LRU(Least Recently Used最近最少使用)规则和插入顺序进行age-out(老化移出)处理,自动维护集合中对象的插入顺序,在创建时要预先制定大小,如果空间用完,新添 加的对象将会取代集合中最旧的对象,永远保持最新的数据. 查看集合的状态信息 db.cot1.stats();

MongoDB的固定集合

一.MongoDB固定集合概念 固定集合指的是事先创建,并且大小固定的集合.即假设一个集合设置了固定大小为100,再添加一条文档的时候,会把最前面的文档剔除,永远只保留100条数据. 固定集合特性:固定集合很像环形队列,如果空间不足,最早的文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属性的场景. 二.固定集合应用场景 比如日志文件,聊天记录,通话信息记录等只需保留最近某段时间内的应用场景,都会使用到MongoDB的固定集合. 三.如何使用固定集合 创建固定集合

MongoDB 数据库,对象,集合 MongoDB学习平台

http://www.w3cschool.cc/mongodb/mongodb-databases-documents-collections.html MongoDB 数据库,对象,集合 描述 不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基本的概念是文档.集合.数据库,下面我们挨个介绍. 数据库 一个mongodb中可以建立多个数据库. MongoDB的默认数据库为"db",该数据库存储在data目录中. 在MongoDB中可以创建数据库,如果你想使用Mongo

【MongoDB】3.详细命令集合

[注意:MongoDB自动将_id字段设置为主键] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------> 话不多说  直接 开始敲命令吧! [注意1:MongoD

菜鸟的mongoDB学习---(二)MongoDB 数据库,对象,集合

数据库 一个mongodb中可以建立多个数据库. MongoDB的默认数据库为"db",该数据库存储在data目录中. 在MongoDB中可以创建数据库,如果你想使用MongoDB,创建数据库不是必要的. "show dbs" 命令可以显示所有数据的列表. [email protected]:~$ mongo MongoDB shell version: 2.0.4 connecting to: test > show dbs NewsDB 0.203125G

linux下mongodb的终端命令 建集合、插入、删除、修改、查询

  客户端: 连接服务器: mongo 查看参数: mongo --help 退出mongo服务: exit 或 ctr + c 查看当前使用数据库(登录后默认使用test数据库): db 查看所有数据库(物理真实创建出来的数据库): show dbs 切换数据库(use不存在的库会在内存中临时建库,之后创建集合文件会自动在物理上创建这个数据库): use 库名 删除当前使用的数据库(如果数据库不存在就什么也不做): db.dropDatabase() 集合命令: 创建集合(在使用的库里): d

C#使用Fixed创建固定大小的缓冲区

在 C# 中,可以使用 fixed 语句在数据结构中创建带有固定大小数组的缓冲区. 使用现有代码(如使用其他语言.预先存在的 DLL 或 COM 项目编写的代码)时,这种方法非常有用. 固定数组可采用允许普通结构成员使用的任何特性或修饰符. 唯一的限制是,数组类型必须是 bool.byte. char. short.int.long.sbyte.ushort.uint.ulong.float 或 double. private fixed char name[30]; 在早期版本的 C# 中,声

问题:如何在固定大小的DIV层插入N多个图片

这是贴友问的一个问题,具体需求是: 如何在固定大小的DIV层插入N多个图片,使其一行排列,超出层宽时出现滑动条? 原以为利用overflow属性可以实现,但是测试失败.后来利用div层叠实现了效果. HTML代码: 1: <!-- 如何在固定大小的DIV层插入N多个图片,使其一行排列,超出层宽时出现滑动条? --> 2: <!DOCTYPE html> 3: <html> 4: <head> 5: <meta http-equiv="cont

Android裁剪固定大小头像的功能

转载自: http://www.eoeandroid.com/thread-497277-1-1.html 效果很好,特意转载过来记录一下,加深一下印象. 效果就是 :中间的方框不动,可以拖动图片,选择要裁剪的位置. 源码下载地址:http://download.csdn.net/detail/abc13939746593/7540163 Android裁剪固定大小头像的功能,布布扣,bubuko.com