本章内容
Schema设计
电子商务数据模型
数据库、集合与文档
本章详细介绍了面向文档的数据建模,以及数据库、集合与文档级别的数据在MongoDB中是如何组织的。我会先简单阐述一下Schema的设计,这是很有帮助的,因为大量MongoDB用户从未给传统RDBMS以外的数据库设计过Schema。此处讨论到的原则为本章第二部分做了铺垫,第二部分里我们会看到一个MongoDB的电子商务Schema。通篇你会看到这个Schema与等价的RDBMS的Schema有何区别,还会了解到MongoDB中典型的实体关系是如何表示的,比如一对多和多对多的实体关系。该电子商务Schema还会作为后续各章中讨论查询、聚合与更新的基础。
既然文档是MongoDB原生的东西,我将用本章的最后部分来讨论文档及其周边的小细节与边边角角的内容。这意味着相比你目前所掌握的知识,本章会更详细地讨论数据库、集合与文档。如果能读到最后,你就会熟悉MongoDB文档数据最晦涩的特性与局限。以后也许你还会来阅读本章的最后一节,因为其中包含了很多在实际使用MongoDB的过程中会遇到的陷阱。