logo
69

MongoDB 数据库

⏱️ 40分钟

Python 与 MongoDB:从内存数据走向持久化

你现在可能会困惑什么

“我用 dict 也能存数据,为什么要数据库?”

dict 进程结束就丢失,数据库支持长期存储与查询。

一句话定义

MongoDB 是文档数据库,适合 JSON 风格数据存储与快速迭代。

生活类比

dict 像便签,MongoDB 像可检索档案柜。

最小可运行例子

from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017")
users = client["jr_demo"]["users"]
users.insert_one({"name": "Alice", "age": 25})
print(users.find_one({"name": "Alice"}))

课堂小测(5 分钟)

  1. 插入 3 条用户文档。
  2. 查询年龄 > 20。
  3. 更新后再次查询确认。

课堂小测参考答案与判分点

  • 参考答案方向:能写出可运行代码,并覆盖题目中的核心条件与边界输入。
  • 判分点 1(正确性):主流程结果正确,关键分支可执行。
  • 判分点 2(可读性):变量命名清晰,结构不过度嵌套。
  • 判分点 3(健壮性):对空值、类型错误或异常输入有基础保护。

迁移任务(课后)

实现最小 CRUD service(create/find/update/delete)。

本节验收标准

你能独立做到:

  • 连接 MongoDB
  • 完成基础 CRUD
  • 理解索引对查询性能影响

常见报错与调试步骤(新手版)

  • 报错看不懂:先读最后一行错误类型(如 TypeErrorNameError),再回到对应代码行定位。
  • 不确定变量值:在关键位置临时 print(变量, type(变量)),先确认数据是否符合预期。
  • 改了代码却没生效:确认文件已保存、运行的是当前文件、终端环境(venv)是否正确。

常见误区

  • 误区:MongoDB 不需要设计字段规范。
  • 正解:越早规范,后期成本越低。