1.1 了解MongoDB
一、MongoDB简单了解
1. 概述
1). 文档数据库,记录文档结构数据(eg. JSON、XML结构数据);
2). 一条文档 <==> 一个记录
3). 一个记录包含 >= 1个键值对
4). 键值对 = 键(key)/字段(field) + 值;
2. 主要特征
1). 高性能:可嵌入数据块(JSON,XML)快速处理;文档索引功能 à 提高查询速度;
2). 丰富查询功能:查询语言丰富:数据聚合,结构文档,地理空间;
3). 高可用性:自动故障转移+数据冗余处理;
4). 水平扩展能力:基于多服务器集群的分布式数据处理(主从,权衡两种处理模式)
5)多存储引擎支持:提供多个存储引擎
(1)基于硬盘读写:WiredTiger(3.2后默认),MMAPv1;
(2)基于内存:In-Memory;
3. 相关概念
比较关系型数据库
MongoDB | TRDB | 比较说明 |
数据库 | 数据库 | 概念基本一致,用命令建立数据库名 |
集合 | 表 | 一个集合对应于一个表 MongoDB:无需事先定义 TRDB:必须事先强制定义 |
文档 | 行 | 每一文档对应于每一行、 Mongodb:每一文档含_id(在所属集合中唯一标识文档,可自行维护/程序员指定);文档避免不同集合的关联关系; TRDB:强调不同数据表间的关联关系 |
键值对 | 字段值 | 二者类似,但文档内的值可嵌入更为复杂数据结构 |
1.2 MongoDB 安装
还莫有整理,之后上传
1.3 数据库建立基本规则
一、各名称规则
数据库 | 集合 | 文档的键 |
非空字符串“” | 非空字符串“” |
|
不包含“”(空格)、.、$、/、\,\0 | 不包含$、\0 | 不可包含\0字符(表示键结束); .和$ 被保留,仅特定环境下使用 |
区分大小写,建议全部小写 |
| 区分类型(字符串,整数等),区分大小写 |
不得使用保留数据库名,如admin,local,config,test | 不能以sysytem.开头(系统集合前缀) |
|
名称最多64字节 | 用“.”组织子集合 | 键不可重复,在一条文档里起唯一作用 |
- 文档值数据类型
- null,布尔值,32位整数,64位整数,64位浮点数,字符串,符号,对象id,日期,正则表达式,代码,undefined,数组,内嵌文档
注:不强制类型检查
1.4 数据库建立
一、基本类型
保留数据库:
1. admin:权限数据库(类似sql);
2. local:永远不被负责,存储本地单台服务器任意集合;
3. config:分片模式下,内部的使用,存分片信息;
4. test:默认数据库
自定义数据库:根据应用需要创建;
二、相关命令
1)创建自定义数据库:
- // use 数据库名
- use goodsdb
2)查看数据库
show dbs
3)统计数据库信息
比书中多一项 fileSize:当前数据库预分配的文件大小
4)删除数据库
5)查看数据库下集合名称
6)用户角色权限
7)创建用户角色,修改用户角色权限
(1)创建用户
(2)创建角色
(3)修改用户权限
(4)修改角色权限