MongoDB 特殊索引和集合类型详解
1. 受限集合(Capped Collections)
1.1 转换现有集合为受限集合
可以将现有的常规集合转换为受限集合,使用 convertToCapped
命令。例如,将 test
集合转换为大小为 10,000 字节的受限集合:
> db.runCommand({"convertToCapped": "test", "size": 10000});
{ "ok": true }
一旦集合变为受限集合,无法将其恢复为普通集合,除非删除该集合。
1.2 自然排序(Sorting Au Naturel)
受限集合支持一种特殊的排序方式,即自然排序。自然排序按照文档在磁盘上的顺序返回文档。对于大多数集合,这种排序方式用处不大,因为文档会移动。但在受限集合中,文档按插入顺序存储,所以自然顺序与插入顺序相同。可以按从旧到新或从新到旧的顺序排序:
// 从新到旧排序
> db.my_collection.find().sort({"$natural": -1})
1.3 可尾游标(Tailable Cursors)
可尾游标是一种特殊的游标,当结果耗尽时不会关闭。它受 tail -f
命令启发,只要可能就会继续获取输出。可尾游标只能用于受限集合