引入:电商平台商品信息存储
Mysql:针对不同商品创建不同的表;建一张打表,所有商品存储到表里;公共属性提取出来建表,特有属性各自建表;
MongoDB:没有表结构概念(无需建表),文档内容可以非常灵活地去定制。
与Mysql相比优势在于速度快、操作简单、使用便捷、灵活;
劣势:安全性、数据的一致性、稳定性不够
基本概念
一款流行的文档数据库。
主要特点:高性能(处理请求速度快)、高可用性(大多数时间都能正常运行)、自动扩展(有应对快速负载的能力)、免费开源
MongoDB三元素:数据库、集合(collection)、文档(document)
注解:一个数据库(书)可以包含多个集合(章),一个集合又可以包含多个文档(每一页);
MongoDB将数据存储为一个文档,文档数据由键值对组成。
键值对:键:属性/字段;值:属性/字段的取值;(放在一起叫键值对)
文档格式:{key1:value1,key2:value2,kye3:value3…}
键:字符串类型
值:的类型多种多样(数字,字符串、数组、文档等)
环境搭建
安装教程
安装成功
掌握全部操作
常见操作
围绕mongodb三元素----数据库、集合、文档(重点)
- 查看所有数据库列表
show dbs; - 建库
use 数据库名;(两重含义:如果use后面跟的数据库名在当前连接下没有,这创建数据库,并选择该数据库;如果当前连接下有该数据库,则直接选择该数据库。)
举例:
use test1;
- 显示当前连接的是哪个数据库
db;
- 查看当前数据库下有那些集合
show collections;
- 创建集合插入文档
db.collection_name.insert()
insert()两种含义:执行插入操作时会去检查collection_name在当前数据库下有没有,如果有则往该集合下插入数据;如果没有则会创建该集合并插入数据。
举例:db.a.insert({x:1});
_id为做文档插入时系统给每个文档分配的一个编号,这个编号在每次数据插入时都会自动生成有别于其他文档的编号作为这个文档的标识。
文档的操作
数据的增删改查
- 文档的插入
1.插入单个文档
db.a.insert({x:1,y:2,z:3}) ;