使用嵌入式文档建立一对多关系模型
创建一个数据模型,它将使用 嵌入式文档描述连接的数据之间的一对多关系。将连接的数据嵌入到单个文档可以减少获取数据所需的读取操作的数量。一般来说,在建立架构时,应确保应用程序可以在一次读取操作中收到其所需的所有信息。例如,您可以使用嵌入式一对多模型描述以下关系:
国家与主要城市的关系
作者与书籍的关系
学生上课的关系
例子
示例模式包含三个实体,其中 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" } ] }