MongoDB使用固定集合
MongoDB中的固定集合:大小是固定的,类似于循环队列,如果没有空间了,最老的文档会被删除以释放空间,新插入的会占据这块空间。

1、固定集合(oplog)
oplog是一个典型的固定集合,因为其大小的显示,可以用来短暂的恢复部分数据。
需要使用显示的创建方式
db.createCollection('my_collection', {"capped":true, "size": 100000})此命令创建一个名为my_collection,大小为100000字节的固定集合。
此外还可以定义集合中的文档数量db.createCollection("my_collection2", {"capped": true, “size”:100000, "max": 100});
固定集合创建之后就不能改变,如果需要修改固定集合的属性,只能将它删除之后再重建
为固定集合指定文档数量限制时,必须同时指定固定集合的大小,不管先达到哪一个限制,之后插入的新文档就会把最老的文档挤出集合:固定集合的文档数量不能超过文档数量限制,固定集合的大小也不能超过大小限制。
创建固定集合时,还有另一个选项,可以将已有的某个常规集合转换为固定集合,可以使用convertToCapped命令实现。
db.runCommand({'convertToCapped': 'test', 'size': 10000});
2、自然排序
返回的结果的顺序就是文档在磁盘上的顺序。使用{'$natural': 1}进行排序
3、循环游标
当循环游标的结果集被取光后,游标不会被关闭。
当有新文档插入到集合中时,循环游标就会继续取到结果。
通常用于当文档被插入到工作队列(固定集合)时对新插入的文档进行处理,如果超过10分钟没有新的结果,循环游标就会被释放,因此,当游标被关闭时自动重新执行查询是非常重要的。
4、没有_id索引的集合
在调用createCollection创建集合时,指定autoIndexId选项为false。_id索引必须是唯一索引,不同于其他索引,_id索引一旦创建就无法删除,如果创建的_id索引不合规范,就只能删除集合再重新创建了。
MongoDB使用固定集合的更多相关文章
- MongoDB的固定集合
一.MongoDB固定集合概念 固定集合指的是事先创建,并且大小固定的集合.即假设一个集合设置了固定大小为100,再添加一条文档的时候,会把最前面的文档剔除,永远只保留100条数据. 固定集合特性:固 ...
- mongodb的固定集合(优化效率)
mongodb固定集合(Capped Collection)和大文件管理(GridFS) Capped Collection 固定集合(Capped Collection)是性能出色的有着固定 ...
- MongoDB固定集合(capped collection)
一 . 什么是固定集合 MongoDB中有一种特殊类型的集合,值得我们特别留意,那就是固定集合(capped collection). 固定集合可以声明collection的容量大小,其行为类似于循环 ...
- MongoDB学习笔记-06 数据库命令、固定集合、GridFS、javascript脚本
介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一 ...
- MongoDB的学习和使用(固定集合[Capped Collections])
MongoDB 固定集合(Capped Collections) MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环 ...
- mongodb固定集合,建立管理员安全验证
建立普通集合 db.createCollections aaa; 建立固定集合名称book capped true 固定集合 size大小 max:文档数量 db.createCollection(& ...
- MongoDB固定集合
固定集合 MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头 ...
- MongoDB固定集合(Capped Collections)
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...
- MongoDB 固定集合
MongoDB 固定集合(Capped Collections)是性能出色且有着固定大小的集合,对于大小固定,我们可以想象其就像一个环形队列,当集合空间用完后,再插入的元素就会覆盖最初始的头部的元素! ...
随机推荐
- Django的日常-数据传输
目录 Django的日常-1 Django中最常用的三个东西 HTTPresponse render redirect 静态文件相关 form表单的get与post 神奇的request 模板的传值方 ...
- python基础讲解部分&纯小白需要扎实基础
第一章知识点 一.Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum),在中国人称龟叔 Python崇尚优美.清晰.简单 应用领域: (1)云计算,写 ...
- USACO Running Away From the Barn /// 可并堆 左偏树维护大顶堆
题目大意: 给出以1号点为根的一棵有根树,问每个点的子树中与它距离小于等于m的点有多少个 左偏树 https://blog.csdn.net/pengwill97/article/details/82 ...
- JS设置浏览器缓存,以及常用函数整理
//设置缓存 function set_cache(key,value){ if(key=='') return false; localStorage.setItem(key, value); } ...
- 基于OpenResty与Consul实现服务网格ServiceMesh
一.逻辑架构 1.基于OpenResty开发智能代理: 利用其动态可编程特性,动态化配置nginx服务路由: 2.需要向OpenResty添加weibo开源的upsync服务发现模块: 3.基于con ...
- json条件查询
完整Demo <html> <head> <script type="text/javascript" src="http://www.w3 ...
- 2019-9-2-win10-uwp-布局
title author date CreateTime categories win10 uwp 布局 lindexi 2019-09-02 12:57:38 +0800 2018-2-13 17: ...
- linux 下无法输入# 显示为£
在键盘布局里面,(Keyboard Layout)设置为中国,汉语.解决问题
- 修改Tomcat的端口号方法
(1).查找conf路径下的server.xml文件,路径如: I: \tomcat6\apache-tomcat-6.0.32\conf\server.xml (2).打开server.xml文 ...
- prufer序列的性质及相关结论