mongo零散知识

1.查询总数

  db.集合名字.find({条件}).count()

2.去重分组

  db.runCommand({distinct:'集合名字',key:'字段'}).values 

3.mongo固定集合

  1.固定集合默认是没有索引的,就算是_id也是没有索引的。

  2.由于不需要分配新的空间,所以他的插入速度是非常快的

  3.固定集合的顺序也是固定的,所以他的查询速度也是非常快的

  4.最适合的应用就算日志管理

4.创建固定的集合

  db.createCollection('集合名字',{size:大小(字节),max:文档的固定数,capped:true})

  把一个普通的集合转变为固定的集合

  db.runCommand("convertToCapped":"集合名字",size:大小)

5.mongo文件系统

  GridFs是mongo自带的文件系统,它用二进制的形式存储文件,大型文件系统的一般特性gridfs都可以完成

6.mongo启动项

   

了解到mongo的简单的结构,有个缓冲池的概念,实际就是读的时候先去缓存中读,如果有,直接拿,不需要去DB查询,如果没有,DB查询缓存到缓冲池,写也一样,先写入到缓冲池,然后再往DB写,所以,这样会有一个问题,当DB进行备份的时候,是备份DB数据,不会备份缓冲池的数据,这样的话,最新的缓冲池的数据可能就不会被备份到。上锁的话可以叫缓冲池的数据全部进入到数据库,这在数据库备份的时候很有意义。

上锁:

  db.runCommand({fsync:1,lock:1})

解锁:

  db.currentOp()

 

posted @ 2017-02-17 14:35  tianye_guazi  阅读(148)  评论(0编辑  收藏  举报