一、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:强调不同数据表间的关联关系
键值对
字段值
二者类似,但文档内的值可嵌入更为复杂数据结构
还莫有整理,之后上传
一、各名称规则
数据库
集合
文档的键
非空字符串“”
非空字符串“”
不包含“”(空格)、.、$、/、\,\0
不包含$、\0
不可包含\0字符(表示键结束); .和$ 被保留,仅特定环境下使用
区分大小写,建议全部小写
区分类型(字符串,整数等),区分大小写
不得使用保留数据库名,如admin,local,config,test
不能以sysytem.开头(系统集合前缀)
名称最多64字节
用“.”组织子集合
键不可重复,在一条文档里起唯一作用
文档值数据类型 null,布尔值,32位整数,64位整数,64位浮点数,字符串,符号,对象id,日期,正则表达式,代码,undefined,数组,内嵌文档
注:不强制类型检查
一、基本类型
保留数据库:
1. admin:权限数据库(类似sql);
2. local:永远不被负责,存储本地单台服务器任意集合;
3. config:分片模式下,内部的使用,存分片信息;
4. test:默认数据库
自定义数据库:根据应用需要创建;
二、相关命令
1)创建自定义数据库:
// use 数据库名 use goodsdb2)查看数据库
show dbs
3)统计数据库信息
比书中多一项 fileSize:当前数据库预分配的文件大小
4)删除数据库
5)查看数据库下集合名称
6)用户角色权限
7)创建用户角色,修改用户角色权限
(1)创建用户
(2)创建角色
(3)修改用户权限
(4)修改角色权限
