Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

埋め込みドキュメントによる 1 対多の関係のモデル化

1 対多の関係には 埋め込みドキュメントを使用します。接続されたデータを単一のドキュメントに埋め込むと、データを検索するために必要な読み取り操作の数が減ります。アプリケーションが1 回の 読み取り操作で必要な情報をすべて受け取れるようにスキーマを構造化します。例、次の関係には埋め込まれた 1 対多モデルを使用します。

  • 国から主要都市へ

  • 著者から書籍へ

  • 生徒からクラスへ

この例のスキーマには、 address oneaddress two が同じ patron に属する 3 つのエンティティが含まれています。

// 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 オブジェクトの情報を単一のページに表示する必要があります。1 回のクエリで必要な情報をすべて検索するには、patronドキュメント内に address oneaddress two の情報を埋め込みます。

{
_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"
}
]
}

戻る

1 対 1 の埋め込みドキュメント

項目一覧