作者:云怀大师兄

博客园: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 基础手册(一)的更多相关文章

  1. mongodb基础用法

    安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...

  2. mongodb基础系列——数据库查询数据返回前台JSP(一)

    经过一段时间停顿,终于提笔来重新整理mongodb基础系列博客了. 同时也很抱歉,由于各种原因,没有及时整理出,今天做了一个demo,来演示,mongodb数据库查询的数据在JSP显示问题. 做了一个 ...

  3. MongoDB基础知识 02

    MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...

  4. MongoDB基础知识 01

    MongoDB基础知识  1. 文档  文档是MongoDB中的数据的基本单元,类似于关系型数据库管理系统的行. 文档是键值对的一个有序集.通常包含一个或者多个键值对. 例如: {”greeting& ...

  5. MongoDB基础教程系列--未完待续

    最近对 MongoDB 产生兴趣,在网上找的大部分都是 2.X 版本,由于 2.X 与 3.X 差别还是很大的,所以自己参考官网,写了本系列.MongoDB 的知识还是很多的,本系列会持续更新,本文作 ...

  6. DataBase MongoDB基础知识记录

    MongoDB基础知识记录 一.概念: 讲mongdb就必须提一下nosql,因为mongdb是nosql的代表作: NoSQL(Not Only SQL ),意即“不仅仅是SQL” ,指的是非关系型 ...

  7. MongoDB 基础(2019年开篇)

    MongoDB基础知识: 1.什么是MongoDB NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL". MongoDB是一个介于关系数据库和非关系数据库之 ...

  8. MongoDB基础学习

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  9. windows下mongodb基础玩法系列二CURD附加一

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

随机推荐

  1. 凌乱的与ctf无关的小知识点

    (1)在网页中一般不要用记住密码.否则想要知道你的密码很简单. 例子:看样子很安全,别人无法通过这些来获得你的其他密码(尤其是想我这样密码强度不高的人),但是知道要修改前端的选项,你的密码就会被暴露. ...

  2. 读github,deepfm,pytorch源码 记录

    代码:https://github.com/chenxijun1029/DeepFM_with_PyTorch 2020/12/2首先是数据预处理文件:dataPreprocess.py1. 源数据集 ...

  3. 效率神器-MouseInc推荐和使用

    主要功能 鼠标手势 按住右键滑动即可开始使用. 配置细微,可自由修改手势宽度,颜色,识别灵敏度等. 支持黑名单,支持特定软件自定义手势,支持复合动作. 功能非常强大,比如下面的操作: 选中一个网址,画 ...

  4. 从 0 开始的min_max容斥证明

    二项式反演 \[f_n=\sum\limits_{i=0}^nC^i_ng_i \Leftrightarrow g_n=\sum\limits_{i=0}^n{(-1)}^{n-i}f_i \] 证明 ...

  5. 题解-CTS2019 珍珠

    题面 CTS2019 珍珠 有 \(n\) 个在 \([1,d]\) 内的整数,求使可以拿出 \(2m\) 个整数凑成 \(m\) 个相等的整数对的方案数. 数据范围:\(0\le m\le 10^9 ...

  6. CSS知识点记录

    1.浏览器style中显示的样式 这里面的样式,是行内样式或者是使用js添加的样式

  7. STL——容器(List)List 的概念

    1. List 容器的基本概念 1. list 是一个双向链表容器,可高效的进行插入删除元素,他的原理在于每个元素都有两个指针来记录前后两个元素的地址,像火车车厢一样,list 中各个元素在物理存储单 ...

  8. django APIview使用

    1.APIview使用 ModelVIewSet 是对 APIView 封装 ModelSerializer 是对 Serializer 1.1 在 user/urls.py 中添加路由 urlpat ...

  9. 使用vika维格表来管理寺庙原来如此轻松~

    我有一款适合用于寺庙管理的软件推荐,它是vika维格表,一款一站式的项目管理工具. 一站式项目管理 一个小小的寺庙需要管理的内容也非常的多,你应该不会购买多个系统去管理不同的项目,这样会让寺庙的花费大 ...

  10. [日常摸鱼]UVA11424&11426 GCD - Extreme

    话说UVa的机子跑的好快呀- (两题题意一样,前一题数据范围比较小) 题意:求$\sum_{i=1}^{n-1} \sum_{j=i+1}^n gcd(i,j),n<4\times 10^6$ ...