MongoDB 入门教程(新手友好版)


🧠 一、MongoDB 是什么?

MongoDB 是一款开源的 NoSQL 数据库,用来存储灵活的 JSON 文档结构数据,适合快速开发和处理海量非结构化数据。

🌟 特点:

  • 📄 数据是 JSON 格式,比 SQL 更直观
  • ⚡ 插入快、查询灵活、支持嵌套字段
  • 📁 不用建表,随用随插入

🛠️ 二、安装方式(任选其一)

方法 工具 说明
🖥️ 本地安装 官网下载安装包 Windows/mac/Linux
🐳 Docker 安装 docker run mongo 推荐快速开发用
☁️ 云服务 MongoDB Atlas 免费托管版 不用部署服务器

🧩 三、核心概念(和 MySQL 区别对照)

MongoDB术语 类似于 MySQL 的 说明
🛢️ Database 数据库 整个数据库容器
📁 Collection 表(Table) 存 JSON 文档的集合
📄 Document 行(Row) 一条 JSON 格式的数据记录
🔑 _id 主键(id) 每条文档都有唯一 _id 字段

🧪 四、常用命令示例(终端、Mongo Shell 中执行)

📁 1️⃣ 创建数据库和集合

use mydb;                    // 切换/创建数据库
db.createCollection("users") // 创建集合(可省略,插入自动创建)

📄 2️⃣ 插入数据

db.users.insertOne({ name: "张三", age: 25 })  // 插入一条
db.users.insertMany([{ name: "李四" }, { name: "王五", age: 30 }]) // 多条插入

🔍 3️⃣ 查询数据

db.users.find()                    // 查询所有
db.users.find({ age: { $gt: 20 } }) // 查询年龄大于20的
db.users.findOne({ name: "张三" })  // 查询一条

✏️ 4️⃣ 更新数据

db.users.updateOne({ name: "张三" }, { $set: { age: 26 } })

❌ 5️⃣ 删除数据

db.users.deleteOne({ name: "张三" })   // 删除一条
db.users.deleteMany({ age: { $lt: 20 } }) // 删除多条

🔧 五、特殊语法(MongoDB 查询语言)

操作符 用法示例 含义
$gt { age: { $gt: 18 } } 大于
$lt { age: { $lt: 30 } } 小于
$in { name: { $in: ["张三", "李四"] }} 包含
$regex { name: { $regex: "^张" } } 模糊匹配
$and, $or { $or: [{ age: 20 }, { age: 30 }] } 多条件组合查询

📦 六、MongoDB vs MySQL 对比表

对比项 MongoDB 📄 MySQL 🧾
数据结构 JSON文档 表格结构
表结构是否固定 ❌ 非固定(灵活) ✅ 固定(需提前建表)
适合场景 海量数据、内容管理、实时数据 传统业务系统、强结构化数据
查询语法 JS 对象语法 SQL语法
学习曲线 简单(入门快) 稍复杂(需学 SQL)

🧭 七、推荐学习路线

1️⃣ 学习基础概念:数据库、集合、文档
2️⃣ 熟练掌握增删改查命令(find、insert、update、delete)
3️⃣ 学会使用 $gt$or$regex 等查询条件
4️⃣ 使用 MongoDB Atlas 做远程开发测试
5️⃣ 项目实战(如:开发一个用户系统)


📚 推荐资料

类型 名称/链接
教程 MongoDB 菜鸟教程
视频 B站搜索「MongoDB 入门教程」推荐黑马程序员
可视化工具 MongoDB Compass(图形化界面)
云服务 MongoDB Atlas

✅ 总结一句话:

MongoDB 适合前后端自由开发、高并发、高灵活性的场景,入门简单,非常适合现代应用。


💻 计算机基础技术知识清单

MySQL 基础学习教程(新手版本)

评 论
请登录后再评论