聚合(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. 如何安装window7 语言包

    很多下载的语言包都是.exe文件,双击后生成lp.cab文件. 这时马上把文件复制到另外一个文件夹中,直接拖最快. 这是 window7 sp1 的很多语言包下载地址(企业版和旗舰版通用):http: ...

  2. 从零开始——JSON ARRAY&JSON OBJECT

    在学习“基于角色的权限”的例子中,遇到了json object和json array,因此在一番学习之后对此要点进行粗略整理. 参考: https://my.oschina.net/u/2601842 ...

  3. [mutt] Configure mutt to receive email via IMAP and send via SMTP

    “All mail clients suck. This one [mutt] just sucks less.” Michael Elkins, ca. 1995 Actually I have t ...

  4. 使用LR的socket协议进行进行性能测试,转解决方案

    在用LR对公司delphi开发的C/S程序进行测试时,发现只有选择socket协议可以录制代码,经研究是通过TCP/IP的方式将参数保存在buffer中发送的方式来完成操作,但由于将buffer内容参 ...

  5. August 30th 2017 Week 35th Wednesday

    A lion does not concern himself with the opinion of sheep. 狮子可不会在意绵羊是怎么想的. As a sheep, you must run ...

  6. Java虚拟机10:Client模式和Server模式的区别

    部分商用虚拟机中,Java程序最初是通过解释器对.class文件进行解释执行的,当虚拟机发现某个方法或代码块运行地特别频繁的时候,就会把这些代码认定为热点代码Hot Spot Code(这也是我们使用 ...

  7. [Python 网络编程] makefile (三)

    socket.makefile(mode ='r',buffering = None,*,encoding = None,errors = None,newline = None )返回一个与套接字相 ...

  8. leetcode231 2的幂 leetcode342 4的幂 leetcode326 3的幂

    1.2的幂 正确写法: class Solution { public: bool isPowerOfTwo(int n) { ) return false; )) == ; } }; 错误写法1: ...

  9. CSS3 - 新单位vw、vh、vmin、vmax使用详解(附样例)

    像 px.em 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位.CSS3 又引入了新单位:vw.vh.vmin.vmax.下面对它们做个详细介绍. 一.基本说明 1,vw.vh.vmi ...

  10. PAT——1070. 结绳

    给定一段一段的绳子,你需要把它们串成一条绳.每次串连的时候,是把两段绳子对折,再如下图所示套接在一起.这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连.每次串连后,原来两段绳子的长度 ...