Docs Menu
Docs Home
/
MongoDB マニュアル
/ / /

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

項目一覧

  • 埋め込みドキュメント パターン
  • 詳細

埋め込みドキュメントを使用して、接続されたデータ間の 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 つのページに表示する必要があります。アプリケーションが 1 回のクエリで必要な情報をすべて取得できるようにするには、address oneaddress 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"
}
]
}

戻る

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