入门篇
# 全面掌握MongoDB4.0 完成从小白到达人的蜕变完结无密
上方URL获取资源
-
MongoDB 4.0 简介:MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库中功能丰富、类似关系数据库的高性能 NoSQL 数据库。它将数据存储为文档,数据结构由键值对组成,文档类似于 JSON 对象,字段值可包含其他文档、数组及文档数组,数据结构支持灵活。
-
安装与配置
- Windows 平台:登录 MongoDB 官网下载安装包,进行傻瓜式安装。
- Linux 平台:以 CentOS 7 为例,先创建资源文件
sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo,编辑内容后运行sudo yum install -y mongodb-org安装 MongoDB。安装完成后,编辑mongod.conf文件将net:bindIp: 127.0.0.1改为0.0.0.0以允许远程连接,最后使用systemctl start mongod等命令启动、关闭或重启服务。
-
基本操作
-
进入 MongoDB:在命令行输入
mongo即可进入 MongoDB 服务。 -
创建数据库:使用
use database_name命令,如果数据库不存在则创建,否则切换到指定数据库。使用show dbs可查询数据库列表。 -
创建用户:例如在
admin数据库创建管理员用户db.createUser({ user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})。
-
进阶篇
-
数据操作
- 文档操作:包括插入、更新、删除、基本查询、条件查询、正则表达式查询、内嵌文档查询、数据校验、原子性操作等。
- 集合操作:集合管理、固定集合等操作。
- 索引创建:有单字段索引、复合索引、TTL 索引、全文本索引、地理空间索引、哈希索引等。
- 聚合操作:如
$group、$project、$sort、$skip、$limit、$match、$lookup、$count、$unwind、$out等操作。
-
事务支持:MongoDB 4.0 引入了跨文档事务支持,但存在最大修改限制(如 16MB)和事务执行时间不能过长的限制。在复杂业务场景中使用事务时,要注意其局限性。
-
复制集与分片集群
-
复制集:用于实现数据冗余和高可用性,可保证在部分节点故障时系统仍能正常运行。
-
分片集群:用于处理大规模数据和高并发场景,将数据分散存储在多个节点上,提高系统的存储和读写能力。
-
实践篇
-
应用场景实践
- 内容管理系统:存储文章、页面等内容数据,利用其文档存储特性方便管理不同结构的内容。
- 用户生成内容平台:如社交平台中用户发布的帖子、评论等数据,能灵活存储和扩展。
- 实时数据处理:结合 Spark 等框架,对实时产生的数据进行处理和分析。
-
性能优化
- 索引优化:根据查询需求创建合适的索引,提高查询性能。
- 数据模型优化:设计合理的数据模型,减少冗余和不必要的查询。
- 硬件优化:根据业务需求合理配置服务器硬件资源,如内存、CPU 等。
-
监控与维护
- 监控工具:使用 MongoDB 自带监控工具、Mongo Shell 中的监控指令或第三方监控工具对数据库进行监控。
- 备份与恢复:了解逻辑备份 / 恢复和物理备份 / 恢复的常用命令和方案,定期对数据进行备份,防止数据丢失。