1 対多の関係には 埋め込みドキュメントを使用します。接続されたデータを単一のドキュメントに埋め込むと、データを検索するために必要な読み取り操作の数が減ります。アプリケーションが1 回の 読み取り操作で必要な情報をすべて受け取れるようにスキーマを構造化します。例、次の関係には埋め込まれた 1 対多モデルを使用します。
国から主要都市へ
著者から書籍へ
生徒からクラスへ
例
この例のスキーマには、 address one と address 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 one と address 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" } ] }