http://blog.fens.me/mongodb-shard/

https://segmentfault.com/a/1190000004263332

1. 和用户管理相关的操作基本都要在admin数据库下运行,要先use admin;

2. 如果在某个单一的数据库下,那只能对当前数据库的权限进行操作;

3. db.addUser是老版本的操作,现在版本也还能继续使用,创建出来的user是带有root role的超级管理员

dbAdmin 在db范围内包括下面的权限:

collStats
dbHash
dbStats
find
killCursors
listIndexes
listCollections
dropCollection 和 createCollection on system.profile only

userAdmin在db范围内包括如下权限:

changeCustomData
changePassword
createRole
createUser
dropRole
dropUser
grantRole
revokeRole
viewRole
viewUser

readAnyDatabase 对所有数据库中的collection可读,同时包含listDatabases权限

readWriteAnyDatabase 对所有数据库中的collection可读且可写,同时包含listDatabases权限

userAdminAnyDatabase 对所有数据库拥有userAdmin角色,同时包含listDatabases权限

dbAdminAnyDatabase 对所有数据库拥有dbAdmin角色,同时包含listDatabases权限

cluster相关的权限 clusterMonitor、hostManager、clusterManager、clusterAdmin

root权限, 包含 readWriteAnyDatabase, dbAdminAnyDatabase, userAdminAnyDatabase 和 clusterAdmin 等角色。 但不能访问system. 开头的collection(root does not include any access to collections that begin with the system. prefix.)

__system 超级角色

db.createUser(
{
user: "superAdmin",
pwd: "superAdmin",
roles: [ { role: "__system", db: "admin" } ]
}
)

db.createUser(

  {
    user: "admin",
    pwd: "admin",
    roles:
    [
      {
        role: "userAdminAnyDatabase",//userAdmin//dbOwner
        db: "admin"
      }
    ]
  }
)
 

db.dropUser('sss')

db.addUser("liulinqiang","123456")
db.system.users.find()
db.user.find({"age":26})
查询salary大于5000的数据 > db.user.find({salary:{$gt:5000}})
Fuzzy Match
查询name中包含'a'的数据 > db.user.find({name:/a/})
查询name以G打头的数据> db.user.find({name:/^G/})
多条件"与"
查询age小于30,salary大于6000的数据 > db.user.find({age:{$lt:30},salary:{$gt:6000}})
多条件"或"
查询age小于25,或者salary大于10000的记录> db.user.find({$or:[{salary:{$gt:10000}},{age:{$lt:25}}]})
将上面的find替换为findOne()可以查找符合条件的第一条记录。
> db.user.findOne({$or:[{salary:{$gt:10000}},{age:{$lt:25}}]})

查询记录的指定字段
查询user集合中所有记录的name,age,salary,sex_orientation字段
> db.user.find({},{name:1,age:1,salary:1,sex_orientation:true})

查询gender字段的数据,并去掉重复数据> db.user.distinct('gender')[ "male", "female" ]

对查询结果集的操作
(1)Pretty Print
为了方便,mongo也提供了pretty print工具,db.collection.pretty()或者是db.collection.forEach(printjson)
> db.user.find().pretty()

指定结果集显示的条目
a)显示结果集中的前3条记录 > db.user.find().limit(3)
查询第1条以后的所有数据 > db.user.find().skip(1)

对结果集排序
升序 > db.user.find().sort({salary:1})
降序 > db.user.find().sort({salary:-1})

统计查询结果中记录的条数
(1)统计集合中的所有记录条数 > db.user.find().count()
查询符合条件的记录数
查询salary小于4000或大于10000的记录数
> db.user.find({$or: [{salary: {$lt:4000}}, {salary: {$gt:10000}}]}).count()

Mongodb install:
Vim repo.file
Yum install
Service mongod start
Service mongod status
(5、验证MongoDB
可以通过检查日志文件/var/log/mongodb/mongod.log的内容来判断mongod进程是否正常运行。
也可以执行命令:
$ sudo chkconfig mongod on)
Mongostat--statistics
Mongo--CLI

5)mongodb-org-tools
此包里面有以下的MongoDB工具:mongoimport、bsondump、mongodump、 mongoexport、mongofiles、mongoimport、mongooplog、mongoperf、mongorestore、 mongostat以及mongotop。

mongdb ---shard的更多相关文章

  1. mongDB主从

    MongoDB[第二篇]MongodDB主从 官方网站:http://www.mongodb.org/ MongoDB的一些参数 --logpath 日志文件路径 --master 指定为主机器 -- ...

  2. mongdb与mysql的联系和区别

    与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值. ...

  3. MongoDB for OPS 03:分片 shard 集群

    写在前面的话 上一节的复制集也就是主从能够解决我们高可用和数据安全性问题,但是无法解决我们的性能瓶颈问题.所以针对性能瓶颈,我们需要采用分布式架构,也就是分片集群,sharding cluster! ...

  4. MongoDBV3.0.7版本(shard+replica)集群的搭建及验证

    集群的模块介绍: 从MongoDB官方给的集群架构了解,整个集群主要有4个模块:Config Server.mongs. shard.replica set: Config Server:用来存放集群 ...

  5. solr+mongo-connector+mongdb+tomcat集成

    话题:solr安装 一.下载solr 本例采用4.10.3版本. Solr所有版本下载地址:http://archive.apache.org/dist/lucene/solr/ 下载完成后,解压的目 ...

  6. [MongDB] 主从架构--官方极力不推荐

    一.缘由: 看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下.但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐 Master-Slave模式,这是要标新立异呀. ...

  7. MongDB/C# 杂项

    1.MongDB的时间类型字段输出时为UTC的解决方法:保存到数据库中的数据还是按UTC存的,读出来的就按标识值读 [BsonDateTimeOptions(Kind = DateTimeKind.L ...

  8. MongoDB Shard部署及Tag的使用

    Shard部署 准备测试环境 为准备数据文件夹 Cd  /home/tiansign/fanr/mongodb/Shard mkdir configdb1 configdb2 configdb3 mk ...

  9. Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系

    Solr有一堆让人发晕的术语如:collections,shards,replicas,cores,config sets. 在了解这些术语之前需要先做做如下功课: 1)什么是倒排索引? 2)搜索引擎 ...

随机推荐

  1. error: expected declaration specifiers or '...' before 'xxxx'(xxxx是函数形参)

    今天汗颜了一大阵 早上,在编译我的源代码的时候竟然不通过编译,上个星期六也出现了这种情况,当时不知道怎么弄的后来又通过编译了,可能是原来的.o文件没有make clean 还保存在那里,以至于蒙过去了 ...

  2. (转)基于live555的流媒体代理转发服务器

    对于并发量并不大而且对性能要求不是很高的流媒体传输模块,live555还是很好的选择,下面说一下我所实现的流媒体代理服务器(目前只能实现对H264单视频的转发)代理转发主要 对于并发量并不大而且对性能 ...

  3. CentOS下rpm指令和yum指令详解

    centos的软件安装大致可以分为两种类型: [centos]rpm文件安装,使用rpm指令 类似[ubuntu]deb文件安装,使用dpkg指令 [centos]yum安装 类似[ubuntu]ap ...

  4. sublime text 删除插件

    1.ctrl+shift+p 输入remove package 选择要删掉的插件即可 2.去掉产生临死文件的插件:phptools

  5. 【java】 java 设计模式概述

    一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...

  6. boa.config

    # boa -c /usr/local/boa Port 80 #User 0#Group 0 ErrorLog /dev/console AccessLog /dev/console ServerN ...

  7. Spring------Spring boot data jpa的使用方法

    1.DoMain.java import org.springframework.boot.SpringApplication; import org.springframework.boot.aut ...

  8. Oracle-未能加载文件或程序集“oracle.dataaccess”或它的某一个依赖项。试图加载格式不正确的程序。

    未能加载文件或程序集“oracle.dataaccess”或它的某一个依赖项.试图加载格式不正确的程序. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以 ...

  9. 【RF库Collections测试】Dictionary Should Contain Key

    Name:Dictionary Should Contain KeySource:Collections <test library>Arguments:[ dictionary | ke ...

  10. Python 练习题:统计系统剩余内存

    #!/usr/bin/env python #-*- coding:utf-8 -*- ''' 统计系统内存信息 ''' with open('/proc/meminfo') as fd: for l ...