使用内嵌文档创建一对一多关系
创建一个使用内嵌文档来描述连接数据之间一对一关系的数据库模型。将连接数据内嵌在单个文档中可以减少获取数据所需的读取操作次数。通常,您应该将模式结构化,以便您的应用程序在单个读取操作中接收所有所需信息。例如,您可以使用内嵌一对一模型来描述以下关系
国家到主要城市
作者到书籍
学生到班级
示例
示例模式包含三个实体,其中地址一
和地址二
属于同一个赞助商
// 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" }
嵌入式文档模式
在此示例中,应用程序需要在单个页面上显示赞助商
和两个地址
对象的信息。为了使您的应用程序能够通过单个查询检索所有必要的信息,请在赞助商
文档中嵌入地址一
和地址二
信息
{ "_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" } ] }