# 使用或切换数据库
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 学习 (二)命令的更多相关文章

  1. MongoDB副本集学习(二):基本测试与应用

    简单副本集测试 这一节主要对上一节搭建的副本集做一些简单的测试. 我们首先进入primary节点(37017),并向test.test集合里插入10W条数据: . rs0:PRIMARY> ;i ...

  2. redis命令学习(二) · THIS SPACE

    列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...

  3. MongoDB 数据库的学习与使用

    MongoDB 数据库 一.MongoDB 简介(了解) ​ MongoDB 数据库是一种 NOSQL 数据库,NOSQL 数据库不是这几年才有的,从数据库的初期发展就以及存在了 NOSQL 数据库. ...

  4. MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码

    先来张在路上…… 铛铛铛……项目源码下载地址:http://files.cnblogs.com/ontheroad_lee/MongoDBDemo.rar 此项目是用Maven创建的,没有使用Mave ...

  5. Mongodb基本数据类型、常用命令之增加、更新、删除

    1.null---表示空值或者该字段不存在,如{"name":null} 2.布尔 --- 和java中的布尔一样,有两种:true,false,如{"sex" ...

  6. [转]搭建高可用mongodb集群(二)—— 副本集

    在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...

  7. 搭建高可用mongodb集群(二)—— 副本集

    在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...

  8. SpringCloud学习(二):微服务入门实战项目搭建

    一.开始使用Spring Cloud实战微服务 1.SpringCloud是什么? 云计算的解决方案?不是 SpringCloud是一个在SpringBoot的基础上构建的一个快速构建分布式系统的工具 ...

  9. SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组

    目录 SVG 学习<一>基础图形及线段 SVG 学习<二>进阶 SVG世界,视野,视窗 stroke属性 svg分组 SVG 学习<三>渐变 SVG 学习<四 ...

随机推荐

  1. 简单了解树形DP

    今天在B站看了一个树形DP教学视频有所收获,做一个小小的总结 AV号和链接在这:av12194537 那么先介绍一下树形DP 树形DP就是在树这个特殊的数据结构上进行的DP.有两种方向:自顶向下和自底 ...

  2. POJ - 1845 简单数论

    求A^B的约数和模MOD 对A质因子分解P1^k1*P2^k2....P^kn A^B既指数对应部分乘以B 对于每个P都有(1+P^1+P^2+...+P^ki)的选择 连乘每一个P的等比数列之和即可 ...

  3. Django settings配置文件

    由来:为什么我在用django配置的时候导入的不是我项目名下的那个settings 但是我配置了之后依然能够起作用,这是为什么? from django.conf import settings # ...

  4. Python 读取Excel数据 xlrd

    #导入相关模块 from xlrd import open_workbook #打开excel file = open_workbook("test.xlsx") #获取sheet ...

  5. input type=checkbox的值后台怎么接受

    input type=checkbox的值是on或off 实体类中这样写即可 public void setChapterVisibility(Object chapterVisibility) { ...

  6. java 简单的des加密示例

    1.加密结果 包含 : 对int加密 .对string加密.对byte[]加密. 10-09 18:33:32.484 7617-7617/com.example.tt.downtest D/Ciph ...

  7. MySQL Flashback 闪回功能详解

    1. 简介 mysqlbinlog flashback(闪回)用于快速恢复由于误操作丢失的数据.在DBA误操作时,可以把数据库恢复到以前某个时间点(或者说某个binlog的某个pos).比如忘了带wh ...

  8. linux运维基础之跟我一起学正则表达式(一)

    正则表达式 ### 二, 1) 什么是正则表达式 正则表达式又称为规则表达式 正则表达式是一个计算机的一个概念 正则表达式为了处理大量的文本|字符串而定义的一套规则和方法,通常被用来检索,替换那些符合 ...

  9. (转)CentOS6/7 使用saltstack源安装saltstack

    CentOS6/7 使用saltstack源安装saltstack 原文:https://blog.csdn.net/wh211212/article/details/77053708 CentOS ...

  10. 编程中经常看到上下文context,这个上下文指得是什么?

    举个栗子:小美气呼呼对我说:“你去死吧”,我当时哭了. 场景1:小美刚转学到我们学校,我暗恋了她很久,有一天鼓足勇气,向她表白,小美气呼呼对我说:“你去死吧”,我当时就哭了.场景2我跟小美从小青梅竹马 ...