zoukankan      html  css  js  c++  java
  • MongoDB数据库 : 管道,用户管理,副本集等

    聚合(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 备份数据库位置

  • 相关阅读:
    C# BackgroundWorker使用总结
    C#如何优雅的结束一个线程
    C#线程中安全访问控件(重用委托,避免繁复的delegate,Invoke)总结
    C#异步方法调用(四大方法详解)
    C# Winform 跨线程更新UI控件常用方法汇总
    走进异步编程的世界
    走进异步编程的世界
    走进异步编程的世界
    Unity-Redis数据存储
    untiy
  • 原文地址:https://www.cnblogs.com/cccy0/p/9158937.html
Copyright © 2011-2022 走看看