3、MongoDB学习之固定集合

一、MongoDB固定集合概念

固定集合指的事先创建,并且大小固定的集合。即假设一个集合设置了固定为100,再添加一条文档的时候,会把最前面的文档剔除,永远只保留100条数据。

固定集合特性:固定集合很像环形队列,如果空间不足,醉枣的文档就会被删除,为新的文档腾出空间。一般来说,固定集合适用于任何想要自动淘汰过期属性的场景。

二、固定集合应用场景

比如日志文件,聊天记录,通话信息记录等需要保留最近某段时间内的应用场景,都会适用到MongoDB的固定集合。

当知道文档数量上限时,必须同时指定大小,淘汰机制是容量没有满足的时候会依据文档数量来工作,要是容量满了,淘汰机制会依据容量机制来淘汰。

三、如何适用固定集合

创建固定集合使用命令:

db.createCollection(name, { size : ..., capped : ..., max : ... } )

name    #表示集合名称

capped    #为true表示固定集合

size    #表示集合最大使用的大小,默认是K

max    #表示最大的文档数

1、创建一个固定集合

> db.createCollection("b3",{capped:true,size:1024,max:200})

2、对固定集合插入数据

> for (var i=1;i<199;i++){

... db.b3.insert({name:‘test‘+i,age:26})

... }

WriteResult({ "nInserted" : 1 })

3、查看集合

WriteResult({ "nInserted" : 1 })

> db.b3.find()

#可以看到集合已经size就已经把文档剔除了

时间: 2024-10-03 13:27:41

3、MongoDB学习之固定集合的相关文章

MongoDB 进阶(命令\固定集合)

命令参考 查看MongoDB命令方法 ● 在shell中运行db.listCommands()命令 ● 在浏览器管理接口http://localhost:28017/_commands 下面是MongoDB最常使用的命令: ●  buildinfo 管理专用命令,返回MongoDB服务器的版本号和主机操作系统信息 >db.runCommand({"buildinfo":1}) { "version" :"2.4.14", "git

MongoDB学习笔记~对集合属性的操作

回到目录 $unset清除元素 请注意在单个数组元素上使用$unset的结果可能与你设想的不一样.其结果只是将元素的值设置为null,而非删除整个元素.要想彻底删除某个数组元素,可以用$pull 和$pop操作符. $addToSet和$push的区别 该两者的功能都是给数组添加一个值.但是两者之间有区别,$addToSet要添加的值如果不存在才进行添加操作,但是push只添加一个值:例如: tags = [“zzl”,”dudu”] 如果执行db.collection.update({},{$

【MongoDB学习笔记26】MongoDB的固定集合

MongoDB中的普通集合是动态的,可以自动增长容纳更多的数据:相对而言,有另一种集合称之为固定集合. (1)固定集合需要实现显式创建,集合大小固定: (2)一旦固定集合中空间用完,插入的新文档将覆盖最老的那个文档的空间,类似循环队列: (3)固定集合不能被分片: (4)固定集合不能修改,只能删除重建 一.创建固定集合 使用CreateCollection创建固定集合myCollection,字节大小限制在10000,文档数量限制在100: > db.createCollection("m

MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本

介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行.runCommand仅仅是接受命令文档,执行等价查询. >db.runCommand({"drop":"test"}) 上面的命令等价于下面的查询: >db.$cmd.findOne({"d

mongodb学习之:数据库命令以及固定集合

如何我们要删除一个集合,可以采用db.test.drop()的方式,其实在这背后,这个函数运行的是drop命令.可以用runCommand达到同样的效果. 我们首先新建一个集合作为测试使用: > use maple1 switched to db maple1 > db.maple1.insert({'name':'zhanghongfeng'}) WriteResult({ "nInserted" : 1 }) 删除掉这个集合,反馈的结果中ok:1代表成功 > db

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

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

MongoDB的固定集合

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

MongoDB固定集合(Capped Collections)

MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! 1. 创建固定集合: db.createCollection("cappedLogCollection",{capped:true,size:10000}) 指定文档个数: db.createCollection("cappedLogCollection",{capp

mongodb固定集合,建立管理员安全验证

建立普通集合 db.createCollections aaa; 建立固定集合名称book capped true 固定集合 size大小 max:文档数量 db.createCollection("book",{capped:true,size:10000,max:5}) "capped" : false, 表示普通集合 普通集合可以转换为固定集合      db.user.convertToCapped(maxBytes) - calls {convertToC