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 学习<四 ...
随机推荐
- FileReader 方法 实现预览图片
FileReader 方法 方法名 参数 描述 abort none 中断读取 readAsBinaryString file(blob) 将文件读取为二进制码 readAsDataURL file( ...
- Jupyter 安装与应用
用pip安装Jupyter pip install jupyter 从命令行启动笔记本服务器 jupyter notebook 前提要先启动python,这里有一个 token值,如果不是使用默认浏览 ...
- C++_异常8-异常、类和基础
异常.类和继承以三种方式相互关联. 首先,可以像标准C++库所做的那样,从一个异常类派生出另一个. 其次,可以在类定义中嵌套异常类声明来组合异常. 第三,这种嵌套声明本身可以被继承,还可以作为基类. ...
- [JLOI2015]管道连接(斯坦纳树)
[Luogu3264] 原题解 多个频道,每个频道的关键点要求相互联通 详见代码,非常巧妙 #include<cstdio> #include<iostream> #inclu ...
- CF1012B Chemical table(构造)
[Luogu-CF1012B] 还有重题 P5089[eJOI2018]元素周期表 题解原话 : 可以发现这个过程是不改变二分图中的连通分量的个数的 答案就是 连通分量数-1 证明 : 设一行或一列为 ...
- I Hate It(线段树区间最值,单点更新)-------------蓝桥备战系列
很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...
- Autofac构建
1.初始化 using System.Reflection; using System.Web; using System.Web.Mvc; using System.Configuration; u ...
- Oracle utl_file_dir参数详解
1 UTL_FILE_DIR参数定义 UTL_FILE_DIR是Oracle中的一个"静态参数",可以设置一个或多个路径.用于在PL/SQL中进行文件I/O操作(可以用utl_fi ...
- linux Ubuntu14.04 python(c++版本) tesorflow(python版本)c++
一.环境变量配置: export M2_HOME=/home/ustcjing/Maven/apache-maven- export JAVA_HOME=/usr/lib/jvm8/java expo ...
- 日志收集之nxlog
一,软件介绍 nxlog 是用 C 语言写的一个开源日志收集处理软件,它是一个模块化.多线程.高性能的日志管理解决方案,支持多平台.可以处理来自许多不同来源的大量事件日志.支持的日志处理类型包括重写, ...