mongodb 3.4 学习 (二)命令

# 使用或切换数据库
use <database name>
# 显示所有数据库
show dbs
# 显示所有collection
show collections
# 显示所有user
show users
# 插入document到collections
doc = ({"Type": "Book", "Title": "Definitive Guide to MongoDB 3rd ed., The","ISBN": "978-1-4842-1183-0", "Publisher": "Apress", "Author": ["Hows, David", "Plugge,Eelco", "Membrey, Peter", "Hawkins, Tim"]})
db.media.insertOne(doc) # collections media不需要提前建立,在插入document时自动生成
db.media.insertOne( { "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind" })
# 检索document
> db.media.find()
{ "_id" : ObjectId("591e57feade3e79fbc1a8319"), "Type" : "Book", "Title" : "Definitive Guide to MongoDB 3rd ed., The", "ISBN" : "978-1-4842-1183-0", "Publisher" : "Apress", "Author" : [ "Hows, David", "Plugge,Eelco", "Membrey, Peter", "Hawkins, Tim" ] }
{ "_id" : ObjectId("591e586cade3e79fbc1a831a"), "Type" : "CD", "Artist" : "Nirvana", "Title" : "Nevermind" }
> db.media.find ({ Artist: "Nirvana"}) # 按作者检索,返回全部项目
> db.media.find ({Artist: "Nirvana"}, {Title: 1}) # 按作者检索,仅返回title
> db.media.find ({Artist: "Nirvana"}, {Title: 1, _id: 0}) # 按作者检索,仅返回title,同时不显示id
db.media.find().sort({Title: 1}) # 1 asc, -1 desc
db.media.find().limit(10)
db.media.find().skip(20)
db.media.find().sort({Title: -1}).limit(10).skip (20)
# capped collection : 固定长度的collection,写满时会自动清除开头的记录,然后在未尾写入新记录
> db.createCollection("audit", {capped:true, size:20480})
> db.audit.find().sort({ $natural: -1 }).limit (10)
> db.createCollection("audit100", {capped:true, size:20480, max:100}) # 最大容量2048Bytes,最大记录数100
> db.audit100.stats()
# Aggregation(聚合)
> db.media.count()
> db.media.find({Publisher:"Apress", Type:"Book"}).count()
> db.media.distinct( "Title")
# 分组
> db.media.group (
{
key: {Title : true},
initial: {Total : 0},
reduce : function (items,prev)
{
prev.Total += 1
}
}
)
# 数据库用户角色
read 读取所有非系统collection和system.indexes、system.js、system.namespaces三个系统collection
readWrite 读写所有非系统collection和system.indexes、system.js、system.namespaces三个系统collection
# 数据库管理员角色
dbAdmin 除用户角色管理的其他管理操作
userAdmin 修改当前数据库的用户及角色,
dbOwner readWrite + dbAdmin + userAdmin
# 群集管理员角色
hostManager 管理和监控服务器
clusterMonitor 只读访问权限的监控工具
clusterManager 管理监控群集,允许访问config和local数据库,用于sharing replication respectively
clusterAdmin hostManager + clusterMonitor + clusterManager
# 备份恢复角色
backup
restore 允许使用mongorestore命令但不允许使用oplogReplay选项,不能恢复system.profile数据
# 全数据库权限
readAnyDatabase 所有数据库的读权限
readWriteAnyDatabase 所有数据库的读写权限
userAdminAnyDatabase 所有数据库的userAdmin权限
dbAdminAnyDatabase 所有数据库的dbAdmin权限
# 超级用户权限
root readWriteAnyDatabase + dbAdminAnyDatabase + userAdminAnyDatabase + clusterAdmin + restore + backup
# 建立超级用户admin
use admin
db.createUser(
{
user: 'admin',
pwd: '@admin',
roles: [
{ role: 'root', db: 'admin' },
]
}
)
# 建立mydb的管理员用户my
use mydb
db.createUser(
{
user: 'my',
pwd: '@my',
roles: [
{ role: 'dbOwner', db: 'mydb' },
]
}
)
# 用户认证登录
use admin
db.auth('admin', '@admin')
mongodb 3.4 学习 (二)命令的更多相关文章
- MongoDB副本集学习(二):基本测试与应用
简单副本集测试 这一节主要对上一节搭建的副本集做一些简单的测试. 我们首先进入primary节点(37017),并向test.test集合里插入10W条数据: . rs0:PRIMARY> ;i ...
- redis命令学习(二) · THIS SPACE
列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...
- MongoDB 数据库的学习与使用
MongoDB 数据库 一.MongoDB 简介(了解) MongoDB 数据库是一种 NOSQL 数据库,NOSQL 数据库不是这几年才有的,从数据库的初期发展就以及存在了 NOSQL 数据库. ...
- MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码
先来张在路上…… 铛铛铛……项目源码下载地址:http://files.cnblogs.com/ontheroad_lee/MongoDBDemo.rar 此项目是用Maven创建的,没有使用Mave ...
- Mongodb基本数据类型、常用命令之增加、更新、删除
1.null---表示空值或者该字段不存在,如{"name":null} 2.布尔 --- 和java中的布尔一样,有两种:true,false,如{"sex" ...
- [转]搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- 搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- SpringCloud学习(二):微服务入门实战项目搭建
一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...
- SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组
目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...
随机推荐
- php Apache No input file
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 变为 RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
- dataTable 加了竖向滚动条导致列头样式错位的问题 / 亲测可用,不好用你打我,用好了记得点推荐
tab在没有显示之前,容器是没有高度宽度的,而dt在自动计算高度和宽度时是获取的外部容器的高度和宽度,当切换tab时,dt获取不到这个高度宽度,导致列头都挤在一起,是用下面代码解决此问题 $('a[d ...
- Karma+Jasmine测试环境搭建
1.如果你还没安装node的话,去这里下载:http://nodejs.cn/download/,选择跟你电脑匹配的并进行安装,一路next下来就行,路径最好改成自己让自己舒服的,默认的路径可能会很让 ...
- archlinux安装交叉编译工具链
1. 在/usr/local下新建文件夹:arm [guo@archlinux local]$sudo mkdir arm 2. 将交叉编译工具拷贝到arm文件夹中 [guo@archlinux ...
- centos7安装SourceCodePro字体
1. 下载SourceCodePro字体,后缀应为.ttf. 2. 将字体文件复制到fonts(/usr/share/fonts)文件夹下: [root@centos fonts]# mv /home ...
- Oracle RAC集群搭建(三)--挂载磁盘
一,磁盘配置 查看由上回配置的共享磁盘,一共三块-----以下所有内容均两台物理机都需要操作 查看磁盘id [root@rac2 ~]# /usr/lib/udev/scsi_id -g -u /de ...
- python 爬虫系列05--丑事百科
丑事百科爬虫 import re import requests def parse_page(url): headers = { 'User-Agent':'user-agent: Mozilla/ ...
- zookeeper 常用命令
服务管理 启动ZK服务: zkServer.sh start 查看ZK状态: zkServer.sh status 停止ZK服务: zkServer.sh stop 重启ZK服务: zkServer. ...
- Druid手动创建连接的坑
环境:druid 1.1.10 今天优化了一天的代码, 老代码手动创建连接,坑 Connection conn = DBUtil.getConnection("d_log_dot_" ...
- C# 服务端控件 asp:RadioButton 选择选中值
1.服务端控件RadioButton <asp:RadioButton ID="rbNewUser" runat="server" GroupName=& ...