使用 嵌入式文档用于一对多关系。在单个文档中嵌入连接的数据可减少检索数据所需的读取操作次数。构建模式,以便应用程序在单个读取操作中接收所需的所有信息。示例,将嵌入式一对多模型用于以下关系:
国家与主要城市的关系
作者与书籍的关系
学生上课的关系
例子
示例模式包含三个实体,其中 address one 和 address two 属于同一个 patron:
// patron document { _id: "joe", name: "Joe Bookreader" } // address one { street: "123 Fake Street", city: "Faketon", state: "MA", zip: "12345" } // address two { street: "1 Some Other Street", city: "Boston", state: "MA", zip: "12345" }
嵌入式文档模式
在此示例中,应用程序需要在单个页面上显示 patron 和两个 address 对象的信息。要通过单个查询检索所有必要信息,请将 address one 和 address two 信息嵌入到 patron文档中:
{ _id: "joe", name: "Joe Bookreader", addresses: [ { street: "123 Fake Street", city: "Faketon", state: "MA", zip: "12345" }, { street: "1 Some Other Street", city: "Boston", state: "MA", zip: "12345" } ] }