[权威指南]学习笔记——第6章 特殊的索引和集合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[权威指南]学习笔记——第6章 特殊的索引和集合相关的知识,希望对你有一定的参考价值。
固定集合,大小固定的集合,其行为类似于循环队列,在碟式磁盘上的写入速度非常快。固定集合不能被分片,可以用于记录日志。
一、创建固定集合createCollection函数
db.createCollection("my_collection",{"capped":true,"size":100000,"max":100})
必须指定大小,可以知道数量。固定集合创建之后,就不能改变了
也可以通过convertToCapped命令实现某个常规集合转换为固定集合,但是固定集合不能转换为非固定集合,只能删除
db.runCommand({"convertToCapped":"test","size":10000})
二、自然排序{"$natural:1"}从旧到新插入顺序排列,也可以用-1,表示从新到旧
三、循环游标 (tailable cursor)
不断对查询结果进行处理,或者是等待新的查询结果,直到游标被关闭
四、没有_id索引的集合
在调用createCollection创建集合时制定autoIndexId 设置为false,不会自动在_id上创建索引
对于没有_id索引的集合,则不能进行复制操作
_id索引必须是唯一索引,一经创建就无法删除
=====================
ttl索引,time-to-live 设置超时时间,达到预设值会被删除,在ensureIndex中指定expireAfterSecs选项
db.foo.ensureIndex({"lastUpdated":1},{"expireAfterSecs":60*60*24}),在lastUpdates紫断殇建立了一个ttl索引
使用callMod命令修改expireAfterSecs的值,db.runCommand({"colMod":"someapp.cache","expireAfterSecs":3600})
在一个给定的集合上可以有多个ttl索引,不能是复合索引,可进行优化排序和查询
======================
全文本索引
用于文档中搜索文本
未完待续……
以上是关于[权威指南]学习笔记——第6章 特殊的索引和集合的主要内容,如果未能解决你的问题,请参考以下文章