MongoDB 基础手册(一)

作者:云怀大师兄
博客园:https://www.cnblogs.com/yunhuai/
公众号:云怀大师兄

与Mysql概念对比
| 说明 | MySQL | MongoDB |
|---|---|---|
| 数据库 | DatatBase | DataBase |
| 数据表/集合 | Table | Collection |
| 数据行/文档 | Row | Document |
| 字段/域 | Column | field |
| 索引 | Index | Index |
| 表连接 | Join | 不支持,使用内嵌文档 |
| 主键 | Primary Key | Primary Key自动将_id设为主键 |
| 服务端 | mysqld | mongod |
| 客户端 | mysql | mongo |
数据类型
| 类型 | 说明 |
|---|---|
| String | 字符串,utf-8才是合法字符 |
| Integer | 根据服务器而不同,分32位、64位 |
| Boolean | 布尔值 |
| Double | 如果是数值,默认Double类型 |
| Array | 数组 |
| TimeStamp | 时间戳 |
| Object | 主要用于内嵌文档 |
| Null | 用于创造空值 |
| Symbol | 特殊符号 |
| Date | 日期时间 |
| Min/Max key | 将一个元素与Bson的最低值和最高值对比 |
用户管理
常用权限
| 权限 | 说明 |
|---|---|
| read | 允许读取(系统级别的集合等不能读取) |
| readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读取权限 |
| readWrite | 允许读写 |
| readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限 |
| dbAdmin | 允许用户在指定数据库中执行管理函数,如索引的创建删除,统计,访问system.profile |
| dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的相应dbAdmin权限 |
| userAdmin | 可以管理用户(system.users) |
| userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的相应userAdmin权限 |
| ClusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限 |
| root | 只在admin数据库可用,超级管理员账号 |
创建用户
新增一个账号(user)为root,密码(pwd)为root,权限集合(roles)为:在数据库(db)为admin的库中,赋予其root的权限(role),并为此账号添加相关说明
db.createUser({"user":"root","pwd":"root",roles:[{"role":"root","db":"admin"}],"customData":{"infomation":"First MongoDB User"}})
修改用户
db.updateUser("用户名",{"pwd":"123","roles":["role":"readWriteAnyDatabase","db":"admin"]})
修改用户密码
db.changeUserPassword(""用户名,"新密码")
删除用户
需要权限:userAdmin
db.dropUser("用户名")
数据库管理
查看
show dbs
show databases
创建
use 库名,自动创建,逻辑创建,内存中创建,插入数据后写入硬盘
删除
进哪个库删哪个库
db.dropDatabase()
集合管理(Collection)
创建
db.createCollection('集合名')
向一个不存在的集合插入数据,也可创建,且效果与上一模一样
db.集合名.insert(插入的数据的json)
集合约束
db.createCollection('集合名',{'capped':true,'size':2000,'max':100,'autoIndexId':true})
| key | 含义 |
|---|---|
| cappend | 默认false 容量无限制,如果为true,就说明有限制,那么size 必须有 |
| size | 指定大小(字节),会根据设置的自动找最近的2的整数次幂或者2的整数次幂的和,比如写1000会自动变为1024,写500变为512 ,700变为 512+256=768 |
| max | 最大个数,新增时先检查容量,再检查个数 |
| autoIndexId | 自动主键创建索引,已过期,MongoDB后续会删除 |
查询
show tables
或
show collections
查看集合详情:db.集合名.stats()
删除
db.集合名.drop()

MongoDB 基础手册(一)的更多相关文章
- mongodb基础用法
安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...
- mongodb基础系列——数据库查询数据返回前台JSP(一)
经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...
- MongoDB基础知识 02
MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...
- MongoDB基础知识 01
MongoDB基础知识 1. 文档 文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...
- MongoDB基础教程系列--未完待续
最近对 MongoDB 产生兴趣,在网上找的大部分都是 2.X 版本,由于 2.X 与 3.X 差别还是很大的,所以自己参考官网,写了本系列.MongoDB 的知识还是很多的,本系列会持续更新,本文作 ...
- DataBase MongoDB基础知识记录
MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...
- MongoDB 基础(2019年开篇)
MongoDB基础知识: 1.什么是MongoDB NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL". MongoDB是一个介于关系数据库和非关系数据库之 ...
- MongoDB基础学习
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
随机推荐
- Python 常用方法和模块的使用(time & datetime & os &random &sys &shutil)-(六)
1 比较常用的一些方法 1.eval()方法:执行字符串表达式,并返回到字符串. 2.序列化:变量从内存中变成可存储或传输到文件或变量的过程,可以保存当时对象的状态,实现其生命周期的延长,并且需要时可 ...
- Django框架简单认识(一)
1.Django是什么 Django是一个由python写成的开放源代码的Web应用框架. 2.Django安装 2.1 Django与python版本的安装版本匹配 Django 版本 Python ...
- day105:Mofang:设置页面初始化&更新头像/上传头像&设置页面显示用户基本信息
目录 1.设置页面初始化 2.更新头像 1.点击头像进入更新头像界面 2.更新头像页面初始化 3.更新头像页面CSS样式 4.头像上传来源选择:相册/相机 5.调用api提供的本地接口从相册/相机提取 ...
- 6、Sping Cloud Feign
1.Spring Cloud Feign简介 (1).Fegin简介 官方文档:http://projects.spring.io/spring-cloud/spring-cloud.html#spr ...
- let和var变量的思考
刚学JavaScript,纠结全局变量用var 还是 let. 这篇文章[来源于知乎]表示 在定义全局变量时,var 和 let 的作用相同. 那么现在基本遵守ES6规范的前提下,函数变量还是for循 ...
- 串口数据监视-Bus Hound
Bus Hound使用说明 一.打开该工具,会看到最上面的六个图标:1.Capture(捕捉按钮):按下它选择捕捉数据界面2.Save(保存按钮):按下它选择保存数据界面3.Setting(设置按钮) ...
- 【题解】「UVA11626」Convex Hull
凸包模板题. 之前写过拿 Graham 算法求凸包的,为了不重复/多学点知识,那这次拿 Andrew 算法求凸包吧qaq *此文章所有图片均为作者手画. Andrew 算法 假设我们有这些点: 首先把 ...
- 2020中国.NET开发者峰会近50场热点技术专题揭秘
简介 / Summary 2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步.2014年以来已经有众多知名公司加入.NET基金会,微软,Google,AWS三大云厂 ...
- 转载-没有IE就没有伤害!浏览器兼容性问题解决方案汇总
普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的.俗话说:没有IE就没有伤害. 贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和 ...
- windows隐藏文件
attrib命令用来显示或更改文件属性. ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S ...