? 白宝书系列 ? Python全栈白宝书? 产品思维训练白宝书? 全域运营实战白宝书? 大前端全栈架构白宝书
专栏系列(点击解锁) | 学习路线(点击解锁) |
---|---|
Python全栈白宝书 | 零基础入门篇 |
语法进阶篇 | |
自动化办公篇 | |
自动化测试实战篇 | |
数据库开发实战篇 | |
爬虫入门与实战 | |
数据分析篇 | |
前端入门+flask 全栈篇 | |
django+vue全栈篇 | |
拓展-人工智能入门 |
文章目录
⭐ MongoDB 的数据结构⭐ 管理逻辑库? 创建 / 切换逻辑库? 查看逻辑库? 删除逻辑库? 图形界面创建、删除逻辑库 ⭐ 管理集合? 创建集合? 查看集合? 删除集合? 查看集合数量? 查看集合存储空间容量? 重命名集合
小伙伴们大家好,从这一章节开始我们就正式的开始 MongoDB 的增删改查的操作了,操作之前我们先来认识一下 MongoDB 的数据结构。
⭐ MongoDB 的数据结构
在之前我们利用 JavaScript 来读写 MongoDB 的数据,深刻的感受到数据必须是 json 格式的
。json 就是 Python语言 中的字典结构,只不过在前端领域这种数据结构被称作是 “json” 。在保存数据的时候,MongoDB 会将 json 编译成二进制进行存储,也就是 "bson" 。
在 MongoDB 中,这些记录通过被称作是 文档
。当某些 “bson” 聚积在一起就形成了 “集合” ,这些 “集合” 就相当于是 MySQL 中的数据表,但是结构更加的松散,因为每个 “bson” 记录中的属性可以是不同的。所以在保存约束的时候,就省去了 字段约束的检查
,读写数据的速度也就更快了。也可以将 MongoDB 的集合当做是 Python语言 中存放 “元组” 的 “列表”,如此介绍就可以更加容易理解 “集合” 的概念了。PS:MongoDB 中不叫数据表,叫集合。
⭐ 管理逻辑库
在读写数据之前,必须要现有逻辑库,所以接下来我们就先学习一下逻辑库的管理。
? 创建 / 切换逻辑库
创建 和 切换 逻辑库,使用的都是use
关键字使用 use
关键字时候,如果逻辑库不存在,则创建并切换到该逻辑库;如果存在逻辑库,则切换至该逻辑库。示例:use test
;当 test逻辑库
不存在时,该命令会创建 test逻辑库并切换
;如果 test逻辑库
存在,则直接切换至 test逻辑库
。 ? 查看逻辑库
使用show dbs
就可以查看 MongoDB数据库 的逻辑库列表,每个逻辑库的名称,包括占用多大的内存空间都可以看的一清二楚。 ? 删除逻辑库
使用db.dropDatabase()
达到 删除逻辑库
的目的,当前在哪个逻辑库,执行该命令就删除哪个逻辑库。 ? 图形界面创建、删除逻辑库
除此之外,我们还可以通过 Robo 3T 的图形化界面,进行 "创建" 和 "删除" 逻辑库的操作。
⭐ 管理集合
管理集合也就是 管理数据表
。接下来,我们就学习一下,日常工作中,常用的管理集合的指令吧
。
? 创建集合
示例:db.createCollection("student")
db.createCollection()
就是创建集合的命令;传入的参数 "student"
就是集合的名称。其实 “集合” 并不需要提前创建,像 db.student.save({"name":"Neo","age":18})
这句指令,在保存数据的同时就已经创建好了 “集合” 。而像示例 db.createCollection("student")
这样的创建 “集合” 的方式,只不过是创建了一个 空的集合
而已。 ? 查看集合
show collections
,利用该命令可以查看当前逻辑库的集合 ? 删除集合
示例:db.student.drop()
,当我们想要删除某一个 “集合” 的时候,直接调用 “集合” 的 "drop"
就可以实现。比如上面这个示例,调用 “集合 student” 的 "drop" 函数
,就可以实现删除 “集合 student” 的目的。 ? 查看集合数量
示例:db.student.count()
,当想要查询 “集合” 中记录的数量的时候,可以直接调用该 “集合” 的 "count()"
函数即可示例的语句就是调用 “集合 student” 的 "count" 函数
,从而实现查询数量的目的。 ? 查看集合存储空间容量
示例:db.student.dataSize()
,当想要查询 “集合” 中记录的存储空间容量的时候,可以直接调用该 “集合” 的 "dataSize()"
函数即可示例的语句就是调用 “集合 student” 的 "dataSize()" 函数
,就能知道硬盘保存集合数量用了多大的内存空间。 ? 重命名集合
示例:db.student.renameCollection("stu")
,当想要修改 “集合” 名称的时候,可以直接调用该 “集合” 的 "renameCollection()"
函数,并在函数中传入要被 “重新修改的名称” 即可。示例的语句就是调用 “集合 student” 的 "renameCollection()" 函数
,实现的修改 “集合” 的名称。