MongoDB权威指南-第6章
来源:互联网 发布:xp桌面壁纸软件下载 编辑:程序博客网 时间:2024/06/06 17:41
MongoDB权威指南
特殊的索引和集合
6.1-固定集合
6.1.1-创建固定集合
固定集合要事先创建,而且它的大小是固定的
固定集合的行为类似循环队列.如果没有空间了,最老的文档会被删除,新插入的文档会占据这块空间
固定集合不能被分片
固定集合可用于记录日志,虽然可以在创建时指定大小,但无法控制什么时候数据会被覆盖.
db.createCollection(“myCollection”,{“capped”:true,”size”:100000})
db.createCollection(“myCollection”,{“capped”:true,”size”:100000,”max”:100})
固定集合的文档数量不能超过限制,大小也不能超过大小限制
常规集合转换为固定集合
db.runCommand({“convertToCapped”:”test”,”size”:10000})
6.1.2-自然排序
自然排序返回结果集中文档的顺序就是文档在磁盘上的顺序
{“natural”:1}
固定集合中的文档是按照文档的插入顺序保存的
自然排序得到的文档是从旧到新排列的
6.1.3-循环游标
循环 游标的灵感来自于tail -f
由于普通集合并不维护文档的插入顺序,所以循环游标只能用在固定集合上
如果超过10分钟没有新的结果,循环游标就会被释放
6.1.4-没有_id索引的集合
创建集合时指定autoInexed为false,创建集合时就不会自动在”_id”上创建索引.实践中不建议这么使用
如果创建了没有_id索引的集合,那就永远都不能复制它所在的mongod了
_id索引必须是唯一索引
6.2-TTL索引
time-to-live index据有生命周期的索引
TTL索引允许为每个文档设置一个超时时间
一个文档到达预设置的老化程度后就会被删除
TTL索引对于缓存非常有用
db.foo.ensureIndex({“lastUpdated”:1},{“expireAfterSecs”:60*60*24})
6.3-全文本索引
6.3.1-搜索语法
在一个操作频繁的集合上创建全文本索引可能导致MongoDB过载,所以应该在离线状态下创建全文本索引
全文本索引仍然只是一个处于‘试验阶段’的功能
启动MongoDB时指定–setParameter textSearchEnabled=true选项
6.3.2-优化全文本搜索
6.3.3-在其他语言中搜索
6.4-地理空间索引
6.4.1-地理空间查询的类型
MongoDB支持几种类型的地理空间索引,最常用的是2dsphere索引和2d索引
2dsphere允许使用GeoJSON格式指定点、线和多边形within
6.4.3-2d索引
6.5-使用GridFS存储文件
6.5.1-GridFS入门
GridFS是MongoDB的一种存储机制,用来存储大型二进制文件
GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片,所以对文件存储做故障转移或横向扩展会更容易
缺点
GridFS的性能比较低:从MongoDB中访问文件,不如直接从文件系统中访问文件速度快
如果要修改GridFS上的文档,只能先将已有文档删除,然后再将新文档重新保存
如果你有一些不常改变但是经常需要连续访问的大文件,那么GridFS很适合
mongofiles工具(上传文件、下载文件、查看文件列表、搜索文件及删除文件)
get
put
6.5.2-在MongoDB驱动程序中使用GridFS
get
put
list
6.5.3-揭开GridFS的面纱
GridFS是一种轻量级的文件存储规范
背后理念:可以将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储
GridFS中的块会被存储到专用的集合中.块默认使用的集合是fs.chunks
files_id块所属文件的元信息
n:块在文件中的相对位置
data:块所包含的二进制数据
chunkSize:组成文件的每个块的大小,单位是字节.默认值是256KB
可通过检查文件的md5校验值来确保文件上传正确
特殊的索引和集合
6.1-固定集合
6.1.1-创建固定集合
固定集合要事先创建,而且它的大小是固定的
固定集合的行为类似循环队列.如果没有空间了,最老的文档会被删除,新插入的文档会占据这块空间
固定集合不能被分片
固定集合可用于记录日志,虽然可以在创建时指定大小,但无法控制什么时候数据会被覆盖.
db.createCollection(“myCollection”,{“capped”:true,”size”:100000})
db.createCollection(“myCollection”,{“capped”:true,”size”:100000,”max”:100})
固定集合的文档数量不能超过限制,大小也不能超过大小限制
常规集合转换为固定集合
db.runCommand({“convertToCapped”:”test”,”size”:10000})
6.1.2-自然排序
自然排序返回结果集中文档的顺序就是文档在磁盘上的顺序
{“natural”:1}
固定集合中的文档是按照文档的插入顺序保存的
自然排序得到的文档是从旧到新排列的
6.1.3-循环游标
循环 游标的灵感来自于tail -f
由于普通集合并不维护文档的插入顺序,所以循环游标只能用在固定集合上
如果超过10分钟没有新的结果,循环游标就会被释放
6.1.4-没有_id索引的集合
创建集合时指定autoInexed为false,创建集合时就不会自动在”_id”上创建索引.实践中不建议这么使用
如果创建了没有_id索引的集合,那就永远都不能复制它所在的mongod了
_id索引必须是唯一索引
6.2-TTL索引
time-to-live index据有生命周期的索引
TTL索引允许为每个文档设置一个超时时间
一个文档到达预设置的老化程度后就会被删除
TTL索引对于缓存非常有用
db.foo.ensureIndex({“lastUpdated”:1},{“expireAfterSecs”:60*60*24})
6.3-全文本索引
6.3.1-搜索语法
在一个操作频繁的集合上创建全文本索引可能导致MongoDB过载,所以应该在离线状态下创建全文本索引
全文本索引仍然只是一个处于‘试验阶段’的功能
启动MongoDB时指定–setParameter textSearchEnabled=true选项
6.3.2-优化全文本搜索
6.3.3-在其他语言中搜索
6.4-地理空间索引
6.4.1-地理空间查询的类型
MongoDB支持几种类型的地理空间索引,最常用的是2dsphere索引和2d索引
2dsphere允许使用GeoJSON格式指定点、线和多边形within
6.4.3-2d索引
6.5-使用GridFS存储文件
6.5.1-GridFS入门
GridFS是MongoDB的一种存储机制,用来存储大型二进制文件
GridFS会自动平衡已有的复制或者为MongoDB设置的自动分片,所以对文件存储做故障转移或横向扩展会更容易
缺点
GridFS的性能比较低:从MongoDB中访问文件,不如直接从文件系统中访问文件速度快
如果要修改GridFS上的文档,只能先将已有文档删除,然后再将新文档重新保存
如果你有一些不常改变但是经常需要连续访问的大文件,那么GridFS很适合
mongofiles工具(上传文件、下载文件、查看文件列表、搜索文件及删除文件)
get
put
6.5.2-在MongoDB驱动程序中使用GridFS
get
put
list
6.5.3-揭开GridFS的面纱
GridFS是一种轻量级的文件存储规范
背后理念:可以将大文件分割为多个比较大的块,将每个块作为独立的文档进行存储
GridFS中的块会被存储到专用的集合中.块默认使用的集合是fs.chunks
files_id块所属文件的元信息
n:块在文件中的相对位置
data:块所包含的二进制数据
chunkSize:组成文件的每个块的大小,单位是字节.默认值是256KB
可通过检查文件的md5校验值来确保文件上传正确
- MongoDB权威指南-第6章
- MongoDB权威指南 第01章 简介
- MongoDB权威指南 第02章 入门
- MongoDB权威指南-第7章
- MongoDB权威指南-第8章
- MongoDB权威指南-第9章
- MongoDB权威指南-第10章
- MongoDB权威指南第二版--第一天
- MongoDB权威指南
- mongodb权威指南笔记
- 《mongodb权威指南》学习
- MongoDB权威指南-简介
- MongoDB权威指南
- MongoDB权威指南笔记
- mongodb权威指南
- MongoDB权威指南 笔记
- mongodb权威指南-基础
- 《Squid 中文权威指南》第6章 译者:彭勇华
- RSA study
- 《Head First 设计模式》阅读
- c语言入门项目之4.0——利用for循环求1/2-2/3+3/4-...+19/20
- 【SQL Server】递归CTE查询view/sp/fun中使用的所有表
- AFN 3.0 网络请求使用
- MongoDB权威指南-第6章
- ANR定位
- 【网络基本功系列十】细说TCP确认机制
- python通过smtp协议发送邮件
- iOS基础动画教程
- 打造自己的reset.css
- Android动画合集之属性动画-又见
- fastjson的SerializerFeature
- API接口管理平台-rap