mongdb ---shard
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的更多相关文章
- mongDB主从
MongoDB[第二篇]MongodDB主从 官方网站:http://www.mongodb.org/ MongoDB的一些参数 --logpath 日志文件路径 --master 指定为主机器 -- ...
- mongdb与mysql的联系和区别
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值. ...
- MongoDB for OPS 03:分片 shard 集群
写在前面的话 上一节的复制集也就是主从能够解决我们高可用和数据安全性问题,但是无法解决我们的性能瓶颈问题.所以针对性能瓶颈,我们需要采用分布式架构,也就是分片集群,sharding cluster! ...
- MongoDBV3.0.7版本(shard+replica)集群的搭建及验证
集群的模块介绍: 从MongoDB官方给的集群架构了解,整个集群主要有4个模块:Config Server.mongs. shard.replica set: Config Server:用来存放集群 ...
- solr+mongo-connector+mongdb+tomcat集成
话题:solr安装 一.下载solr 本例采用4.10.3版本. Solr所有版本下载地址:http://archive.apache.org/dist/lucene/solr/ 下载完成后,解压的目 ...
- [MongDB] 主从架构--官方极力不推荐
一.缘由: 看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下.但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐 Master-Slave模式,这是要标新立异呀. ...
- MongDB/C# 杂项
1.MongDB的时间类型字段输出时为UTC的解决方法:保存到数据库中的数据还是按UTC存的,读出来的就按标识值读 [BsonDateTimeOptions(Kind = DateTimeKind.L ...
- MongoDB Shard部署及Tag的使用
Shard部署 准备测试环境 为准备数据文件夹 Cd /home/tiansign/fanr/mongodb/Shard mkdir configdb1 configdb2 configdb3 mk ...
- Solr术语介绍:SolrCloud,单机Solr,Collection,Shard,Replica,Core之间的关系
Solr有一堆让人发晕的术语如:collections,shards,replicas,cores,config sets. 在了解这些术语之前需要先做做如下功课: 1)什么是倒排索引? 2)搜索引擎 ...
随机推荐
- Google Analytics10条有用教程(转)
几乎每个网站都会统计自身的浏览状况:日IP.PV.跳出率.转换率.浏览者属性等等.了解这些数据有助于更好地了解浏览者的属性.知道网站在什么地方存在缺陷,为更好地提供服务.提高网站收入都有所帮助. 对于 ...
- UltraEdit-32 查看编码
一直苦于无法判断文件的编码类型,现在发现一个方法,就是用强大的UltraEdit-32软件: UltraEdit-32的状态栏可以显示文件的编码类型,详细情况如下: ANSCI------------ ...
- 告诉你html5比普通html多了哪些东西?
- jenkins第一次登陆,输入完密码之后,卡在了SetupWizard[jenkins]处
问题描述: 前几天在安装测试环境的jenkins,启动tomcat之后,通过页面进行登录,输入完初始化的密码之后,就一直卡在 SetupWizard[jenkins]这个地方. 问题如下图: 备注:等 ...
- org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Can
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Can ...
- centos无法联网解决方法
1)进入 /etc/sysconfig/network-scripts/ 2)vi 或 vim 打开 ifcfg-eth0(不一定是eth0,这个自己判断了) 3)将 ONBOOT=no 改成 ONB ...
- hadoop程序MapReduce之WordCount
需求:统计一个文件中所有单词出现的个数. 样板:word.log文件中有hadoop hive hbase hadoop hive 输出:hadoop 2 hive 2 hbase 1 MapRedu ...
- linux 启动时文件系统错误
由于我把/dev/VolGroup00/lvData写在了/etc/fstab中,后面又把这个lv给删除了,导致出现下面开机启动的错误: 解决办法: 1.进入单用户模式下,当修改/etc/fstab时 ...
- 使用ASIHTTPRequest xcode编译提示找不到"libxml/HTMLparser.h"
使用ASIHTTPRequest xcode编译提示找不到"libxml/HTMLparser.h",解决方法如下: 1>.在xcode中左边选中项目的root节点,在中间编 ...
- js中replace()方法
str.replace(/Microsoft/g, "W3School");//全局替换 str.replace(/Microsoft/, "W3School" ...