mongodb学习笔记

来源:互联网 发布:希拉里 国务卿知乎 编辑:程序博客网 时间:2024/04/27 02:25

创建固定集合:
固定集合就是大小固定。固定集合需要事先创建好,当固定集合被占满时,如果再插入新的文档,固定集合会自动将最老的文档从集合中删除。
db.createCollection(“me”,{“capped”:true,”size”:10000})大小为字节。
而且还能指定固定集合中文档的数量db.createCollection(“me”,{“capped”:true,”size”:10000,“max”:100})固定集合一旦创建其属性不能修改,只能删除重新创建;
还可以将某个集合转换为固定的集合。db.runCommand({“convertToCapped”:“test”,“size”:1000})

TTl索引:如果需要更加灵活的老化移出系统,可以使用TTL索引(具有生命周期的索引)这种允许为每一个文档设置一个超时时间,一个文档达到预设置的老化程度之后就会被删除,这种索引对于缓存问题(比如会话的保存)非常有用db.foo.ensureIndex({“lastUpdated”:1},{“expireAfterSecs”:60*60*24})

聚合管道:如果要对大量的文档进行排序,强烈建议在管道的第一阶段进行排序,这时的排序操作会使用索引,否则,排序过程就会比较慢,而且会占用大量的内存。管道如果不是直接从原先的集合中使用数据,那就无法在筛选和排序中使用索引,如果可能,聚合管道会尝试对操作进行排序,以便能够有效使用索引。
mapreduce非常慢,不适合在实时数据分析中使用

如果追求数据加载速度的极致,那么散列片键是最佳选择,因此如果打算在大量查询中使用升序键,但同时又希望写入数据随机分发的话,散列键是个最好的选择。缺陷:不能使用unique选项,与其他片键一样,不能使用数组字段,最后注意,浮点型的值会被取整。

0 0
原创粉丝点击