一、索引
创建大量数据
for(i=0;i<100000;i++){
db.t1.insert({name:"test"+i,age:i})
}
数据查找性能分析
db.t1.find({name:"test10000"})
db.t1.find({name:"test10000"}).explain("executionStats")
建立索引
db.集合.ensureIndex({属性:1})
对索引属性查询
db.t1.find({name:"test10000"}).explain("executionStats")
索引的命令
建立唯一索引,实现唯一约束的功能
db.t1.ensureIndex({"name":1},{"unique":true})
联合索引,对多个属性建立一个索引,按照find()出现的顺序
db.t1.ensureIndex({name:1,age:1})
查看当前所有索引
db.t1.getIndexes()
删除索引
db.t1.dropIndexes("索引名称")
二、安全性
安全性流程:
1、创建超级管理员
2、修改配置文件,启用身份证验证
3、重启服务
4、使用超级管理员登录
5、创建普通用户
6、使用普通用户登录
use admin
db.createUser({
user:"admin",
pwd:"123",
roles:[{role:"root",db:"admin"}]
})
修改配置文件
sodu vi /etc/mongod.conf
去掉注释
security:
authorization:enabled
sudo service mongod restart 重启
mongo -u admin -p 123 --authenticationDatabase admin
创建普通用户:
db.createUser({
user:'t1',
pwd:'123',
roles:[{role:'readWrite',db:'test1'}]
})
mongo -u t1 -p 123 --authenticationDatabase test1
三、副职(副本集)
- 复制至少需要两个节点A、B...
- A是主节点,负责处理客户端请求
- 其余的都是从节点,负责复制主节点上的数据
- 节点常见的搭配方式为:一主一从、一主多从
- 主节点记录在其上的所有操作,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致
- 主节点与从节点进行数据交互保障数据的一致性