# 使用或切换数据库
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. [HNOI2014]抄卡组

    [Luogu3234] [LOJ2208] 题解及代码 锻炼哈希码力的一道题 , 具体细节见代码 #include<cstdio> #include<cstring> #inc ...

  2. 【算法笔记】B1029 旧键盘

    1029 旧键盘 (20 分) 旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及实际被输入的文字,请你列出肯定坏掉的那些键. 输入格式: 输入在 2 ...

  3. 应大数据时代而写了个磁力搜索的网页- WWW.MOVIH.COM 磁力

    应大数据时代而写了个磁力搜索的网页- 索马里搜索磁力 http://www.,movih.com/ BT磁力示例网站:WWW.MOVIH.COM 采用分布式架构: JAVA系统:JBOSS7+EJB3 ...

  4. POJ_2431 Expedition 【数据结构】

    一.题面 POJ2431 二.分析 主要说几个坑 1.给出的点需要根据下标排序. 2.根据不同的方式要把起始点或者终点加进去.我没有转换距离,而是直接从起始点到终点根据距离不断相减判断的,那么起点就是 ...

  5. Oracle sql语句中不支持boolean类型(decode&case)

    [转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...

  6. 划分型博弈型dp

    划分型动态规划: 513. Perfect Squares https://www.lintcode.com/problem/perfect-squares/description?_from=lad ...

  7. 【3dsMax安装失败,如何卸载、安装3dMax 2012?】

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  8. CentOS初试

    由于实在是对ubuntu不太感冒,加上买的鸟哥又是拿CentOS做的例子,所以我就把ubuntu换成了CentOS6.5.依旧win7,CentOS 双系统,具体过程参照http://www.cnbl ...

  9. js 中onclick 事件 点击后指向自己的对象,查找或者添加属性 用关键字this 传入参数 (可以改变原标签css)

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  10. 周记1——WebSocket入门

    一周复一周,时间过得飞快,每个周末都是很开心却又很彷徨.开心的是不用工作,彷徨的是自己这周学到了什么.自身的技能有没有提高.如何应对这个日新月异的社会... 本周的工作的开发IM(即时聊天)模块,要用 ...