数据模型

规范式结构

关系

MongoDB 中的关系:

  • 1:1(一对一)
  • 1:N(一对多)
  • N:1(多对一)
  • N:N(多对多)

文档关系:一对一

  • 优点
    • 一次查询就可以返回所有数据
    • 更具独立性的数据应作为顶层文档
    • 补充性文档应作为内嵌文档

文档关系:一对多

  • 优点
    • 一次查询就可以返回所有数据
    • 更新内嵌文档的复杂度增高
    • 适合读取频率远高于更新频率的数据
  • 减少了重复数据
  • 降低了文档更新的复杂度
  • 需要多次读取操作才能得到完整的数据

适合常常需要返回全部相关文档的查询

数组元素较多时,避免使用内嵌文档

数组元素极多时,重新设计文档结构

树形结构

文档关系:树形结构

parent 指向父节点

child 指向子节点

  • 静态方法 大规模使用的时候使用
  • 实例方法 具体事物使用的方法

静态:想查找所有的故事书(而且以后经常查找),但不想每次都用原生方法 Book.find({ catrgory: story }),定义方法 Book.isStory()

实例:想根据具体的一本书,查找类似的书,定义实例方法 doc.isSimilar(xxx),调用者的具体实例

https://www.cnblogs.com/chris-oil/p/9426270.html