⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

MongoDB 数据建模最佳实践

学习文档数据库设计原则:嵌入 vs 引用,以及反范式化。 · 难度:入门 · +15XP

文档模型设计

MongoDB 使用灵活的文档模型。设计时需考虑:数据访问模式、关系类型(1:1, 1:N, N:M)和写入/读取比例。

嵌入 vs 引用

场景推荐方式示例
子数据总是与父数据一起读取嵌入用户与地址
子数据独立访问或数据很大引用订单与商品
多对多关系引用学生与课程

反范式化

为了提高读取性能,有时需要反范式化(冗余存储)。例如在订单中直接存储用户名,避免每次查询用户表。

// 嵌入式设计
{
  _id: 1,
  name: "Alice",
  orders: [
    { orderId: 101, amount: 50 },
    { orderId: 102, amount: 30 }
  ]
}

模式设计模式

常见模式:属性模式(存储键值对)、桶模式(按时间分组)、多态模式(不同结构相同集合)等。

练习提示

为一个博客系统设计数据模型:包含用户、文章和评论。考虑嵌入评论还是引用?为什么?

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 83 篇
0 完成
🔥 0