一、索引

创建大量数据

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是主节点,负责处理客户端请求
  • 其余的都是从节点,负责复制主节点上的数据
  • 节点常见的搭配方式为:一主一从、一主多从
  • 主节点记录在其上的所有操作,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致
  • 主节点与从节点进行数据交互保障数据的一致性

mongo 索引 安全、备份与恢复的更多相关文章

  1. 【MongoDB学习之四】索引 聚合 备份与恢复 监控

    环境 MongoDB 4.0 CentOS 6.5_x64 一.索引语法ensureIndex()方法基本语法格式如下所示:>db.COLLECTION_NAME.ensureIndex({KE ...

  2. 使用Mongo索引需要注意的几个点

    1.正则表达式和取反运算符不适合建立索引 正则表达式:$regex 取反运算符:$ne ,$nin 2.backgroud建立索引速度缓慢 前台创建是会有阻塞,backgroud效率缓慢,实际情况实际 ...

  3. mongo: 索引

    索引创建 在学习索引之前,我们先看一下,如果没有添加索引时,我们用explain()函数,查看查询计划是什么样的. 发现使用的是BasicCursor,那么就代表我们没有索引,当我们查某一个数据的时候 ...

  4. mongo索引

    索引自动创建和手工创建 db.stu.drop(); db.stu.insert({"name":"张三","sex":"男&qu ...

  5. mongo索引命令

    http://blog.csdn.net/salmonellavaccine/article/details/53907535 1. 创建/重建索引 MongoDB全新创建索引使用ensureInde ...

  6. mongo 索引,速度

    (如有打扰,请忽略)阿里云ECS大羊群,2U4G低至1.4折,限实名新用户,需要的点吧https://promotion.aliyun.com/ntms/act/vm/aliyun-group/tea ...

  7. Mongo索引学习笔记

    索引使用场景 优:加快查询速度 劣:增删改会产生额外的开销.占用空间 tips: 返回集合中一半以上的数据,全表扫描的效率高 索引基础 基础操作 查看索引:db.test.getIndexes() 创 ...

  8. mongo索引(转)

    转自  :https://www.cnblogs.com/efforts-will-be-lucky/p/7324789.html 默认索引 对于每一个集合(除了capped集合),默认会在_id字段 ...

  9. Mongo Index

    摘要 mongo 的索引非常强大,和关系型数据库索引没什么区别.这里主要介绍本人在mongo索引上的犯的错. 索引种类 1.单字段索引 2.复合索引 多个字段索引 如{name:1,address:1 ...

随机推荐

  1. mysql 中文支持

    show variables like 'character%';  SHOW VARIABLES LIKE 'collation_%'; recommend to use utf8mb4 inste ...

  2. 《DSP using MATLAB》Problem 7.27

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  3. 学习笔记TF067:TensorFlow Serving、Flod、计算加速,机器学习评测体系,公开数据集

    TensorFlow Serving https://tensorflow.github.io/serving/ . 生产环境灵活.高性能机器学习模型服务系统.适合基于实际数据大规模运行,产生多个模型 ...

  4. C++ Boost库分类总结

    c# 程序员写c++,各种不适应.尤其是被内存操作和几十种字符串类型的转换,简直疯了,大小写转换竟然要手动写代码实现. Boost看介绍不错,也不知道能不能跨平台.过几天要上linux写c++, 也不 ...

  5. zabbix使用邮箱告警

    目的:使用自己的邮箱(目前我使用的是腾讯企业邮箱)发送告警邮件 1.配置Email:管理->报警媒介类型->Email->修改对应Email参数 2.修改admin用户的报警媒介Em ...

  6. Battle Zone 战争地带

    发售年份 1980 平台 街机 开发商 雅达利(Atari) 类型 射击 https://www.youtube.com/watch?v=Ctr54kopo8I

  7. js设置,获取cookie

    function setCookie(c_name,value,expireMinutes){ var exdate=new Date(); exdate.setMinutes(exdate.getM ...

  8. 配置django项目总结

    1.在django项目应用文件夹中的models.py文件中导入(1)from django.db import models(2)建立需要的映射的类名和属性类型也就是数据库中的表名和字段名 2.在s ...

  9. Taro 代码及功能,需要注意的地方

    Taro 代码不能使用的写法: 请注意无 AppID 关联下,调用 wx.operateWXData 是受限的, API 的返回是工具的模拟返回

  10. 18.22 sprintf函数功能

    函数功能:把格式化的数据写入某个字符串 函数原型:int sprintf( char *buffer, const char *format [, argument] … ); 返回值:字符串长度(s ...