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()
越努力越幸运