1 固定集合
可以理解为一个大小固定的队列集合
新来者会把老的挤走!
固定集合不能分片,可以用于记录日志,
虽然可以创建时指定集合大小,但是无法控制什么时候数据会被覆盖!
2 固定集合的创建
普通集合可以先不指定,但是固定集合必须使用之前自己创建
db.createCollection("mycollection", {"capped":true,"size":1000000, "max":100});
后面的参数是字节数,最后1个是文档的数量!
注意:创建后,属性不可改变,只能删除重建!
3 普通集合转换为固定集合
db.runCommand("convertToCapped":"test","size":1000});
4 使用natural
db.collection.find().sort({"$natural":-1})
5 关于手动保留空间防止文档扩张
方案:在最后添加一个字段来保留空间,每次更新别的字段时,通过
unset来删除这个字段!