使用嵌入式文档建立多对多关系模型
创建一个数据模型,使用嵌入式文档描述连接数据之间的多对多关系。 在单个文档中嵌入连接的数据可以减少获取数据所需的读取操作次数。 一般来说,在构建模式时,应确保应用程序可在单次读取操作中接收所需的所有信息。 示例,您可以使用嵌入式多对多模型描述以下关系:
学生上课
演员到电影
医生对患者
关于此任务
以下示例模式包含有关 book one
和book two
及其作者的信息。 您可以根据您预期应用程序用户是按书籍查询还是按作者查询,以不同的方式表示关系。
如果您预计按书籍查询的用户多于按作者查询的用户,则示例模式是有效的选择。 但是,如果您期望按作者进行更多查询,请将作者设置为顶级信息,并将作者的书籍放在嵌入式字段中。
例子
您可以使用多对多关系来描述书籍和作者。 一本书可以有多个作者,一个作者可以写入多本书。
嵌入式文档模式
应用程序需要在单个页面上显示书籍和作者对象的信息。 要允许应用程序通过单个查询检索所有必要信息,请将作者信息嵌入相应的图书文档:
{ _id: "book001", title: "Cell Biology", authors: [ { author_id: "author124", name: "Ellie Smith" }, { author_id: "author381", name: "John Palmer" } ] } { _id: "book002", title: "Organic Chemistry", authors: [ { author_id: "author290", name: "Jane James" }, { author_id: "author381", name: "John Palmer" } ] }