聚合(aggregate): db.集合.aggregate([{管道:{表达式}}])

db.集合.aggregate([
{管道1:{表达式1}},
{管道2:{表达式2}},
... ...
])

管道1的结果作为管道2的输入.

$group:分组 {$group:{
_id:'$gender',
count:{$sum:1}
}}

$match:过滤(年龄大于19) {$match:{age:{$gt:19}}}

$project:投影(和find第二组参数一样,1显示,0不显示) {$project:{_id:0,counter:1}}

$sort:排序(和sort一样,1升序,-1降序) {$sort:{_id:-1}}

$skip(跳过多少条文档,和skip一样) {$skip:2}

$limit(获取多少条文档,和limit一样) {$limit:2}

$unwind(可以把数组拆分成单条文档) {$unwind:'$xxx'}

索引(1:升序索引,2:降序索引):db.集合.ensureIndex({属性1:1,属性2:1})

查看文档索引 db.集合.getIndex()

删除索引 db.集合.dropIndex('索引名称')

角色: root 只在admin数据库可用,超级账号
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库

创建超级管理员:
db.createUser({user:'admin',pwd:'123',roles:[{role:'root',db:'admin'}]})

启用验证 修改/etc/mongodb.conf:

security:
authorization: enabled

或者 auth=true

用超级管理员创建普通用户:
db.createUser({user:'user1',pwd:'123',roles:[{role:'readWrite',db:'students'}]})

登陆: mongo -u user1 -p 123 --authenticationDatabase students

副本集:数据备份等:
mongod --bind_ip x.x.x.x --porx 27018 --dbpath ~/Desktop/t1 --replSet rs0
mongod --bind_ip x.x.x.x --porx 27019 --dbpath ~/Desktop/t2 --replSet rs0

连接 mongo --host x.x.x.x --port 27018

初始化主服务器: >rs.initiate() 查看状态 rs.status()

添加副本集: rs.add('x.x.x.x:27019')')
删除副本集:rs.remove('x.x.x.x:27019')')

在从服务器中读取操作需要设置 rs.slaveOk()

自动主从切换:一个服务器关闭另一个自动切换成主服务器.

数据库备份:mongodump -u user1 -p 123 --authenticationDatabase 数据库名 -d 备份数据库 -o 存放位置

数据库恢复: mongorestore -h 服务器地址 -d 需要恢复的数据库 --dir 备份数据库位置

MongoDB数据库 : 管道,用户管理,副本集等的更多相关文章

  1. 快速掌握mongoDB(五)——读写分离的副本集实现和Sharing介绍

    1 mongoDB副本集 1 副本集简介 前边我们介绍都是单机MongoDB的使用,在实际开发中很少会用单机MongoDB,因为使用单机会有数据丢失的风险,同时单台服务器无法做到高可用性(即当服务器宕 ...

  2. MongoDB学习笔记——Replica Set副本集

    副本集 可以将MongoDB中的副本集看作一组服务器集群由一个主节点和多个副本节点等组成,相对于之前讲到的主从复制提供了故障自动转移的功能 副本集实现数据同步的方式依赖于local数据库中的oplog ...

  3. mongodb管理副本集(持续更新中)

         许多维护工作不能在备份节点上完成 因为要写操作,也不能在主节点上进行,这就需要单机模式启动服务器, 是指重启成员服务器,让他成为一个单机运行的服务器,而不再是副本集中的一员(临时的) 在单机 ...

  4. MongoDB基础之七 用户管理

    MongoDB的用户管理 注意:A)在mongodb中,有一个admin数据库, 牵涉到服务器配置层面的操作,需要先切换到admin数据.即 use admin , -->相当于进入超级用户管理 ...

  5. MongoDB 3.4 分片 由副本集组成

    要在真实环境中实现MongoDB分片至少需要四台服务器做分片集群服务器,其中包含两个Shard分片副本集(每个包含两个副本节点及一个仲裁节点).一个配置副本集(三个副本节点,配置不需要仲裁节点),其中 ...

  6. 修改mongodb(带仲裁节点的副本集)各机器端口

    需求:因为端口调整,需要改变副本的备份集 1.查看当前的副本集信息 [root@localhost bin]# ./mongo 192.168.1.134:10001 repltest:PRIMARY ...

  7. mysql数据库: 用户管理、pymysql使用、navicat插件使用

    一.用户管理 二.pymysql增删改查 三.sql注入攻击 一.用户管理 数据安全非常重要 不可能随便分配root账户 应该按照不同开发岗位分配不同的账户和权限 mysql中 将于用户相关的数据放在 ...

  8. JavaWeb-SpringBoot_使用MySQL数据库实现用户管理_demo

    使用Gradle编译项目 传送门 项目已托管到Github上 传送门 SpringBoot使用MySQL实现 实现功能:普通用户注册.普通用户登录.管理员通过edit-user页面和show-all- ...

  9. oracle数据库之用户管理

    转载 Oracle创建用户.角色.授权.建表   一.oracle数据库的权限系统分为系统权限与对象权限: 系统权限( database system privilege )可以让用户执行特定的命令集 ...

随机推荐

  1. Spring MVC基本配置和实践(一)

    一.Spring MVC介绍 1. Spring MVC是什么? The Spring Web MVC framework和Struts2都属于表现层的框架,它是Spring框架的一部分,我们可以从S ...

  2. PHP调优

    目录 php.ini 内存 Zend OPcache 文件上传 最长执行时间 处理会话 缓冲输出 真实路径缓存 php.ini PHP解释器在 php.ini 文件中配置和调优.web和cli使用的路 ...

  3. [日常]蒟蒻的高一生活 Week 4

    啊啊啊好颓啊...石乐志 (药丸...最近更新的全都是日常了...(果然只做内部题效果滑稽)) 正在考虑把日常部分从科别体改成编日体(什么鬼)反正现在每天都能更新(x OI 整个一周 $dg$ 都没有 ...

  4. HTTP协议图--HTTP 报文首部之请求行、状态行

    1.请求行 举个栗子,下面是一个 HTTP 请求的报文: GET /index.htm HTTP/1.1 Host: sample.com 其中,下面的这行就是请求行, GET /index.htm ...

  5. [原]外网访问用azure虚拟机搭建的网站

    1.Ubuntu+Apache+PHP的环境搭建(此处省去了mysql的步骤) 在azure上搭建上述的开发环境和在本地PC搭建是一样的步骤,具体介绍请参看这里. 2.从外网访问 注意,这一步的前提是 ...

  6. Scala模式匹配和样例类

    Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配. 1.字符匹配     def mai ...

  7. Thinkphp 漏洞小试

    首先确定这个网站使用thinkphp的框架 国内很多php开源项目的代码都是使用thinkphp框架编写的,但是thinkphp框架有很多版本,如何才能知道我们使用的框架是哪个版本的呢? 在URL后面 ...

  8. Java中如何利用File类递归的遍历指定目录中的所有文件和文件夹

    package cuiyuee; import java.io.File; import java.util.ArrayList; import java.util.List; public clas ...

  9. Innodb_io_capacity 对于IO稳定性的一些研究

    背景:最近在做一台线上服务器IO负载情况的时候发现了以下现象: 24小时的IO_UTIL 的曲线看似风平浪静,毛刺较少 但当图片放大到半小时级别的时候发现IO_UTIL即磁盘使用率出现了规律性的波动, ...

  10. css3—产品列表之鼠标滑过效果

    <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" /> <title&g ...