高度にネストされた Go 構造体を MongoDB ドキュメントに保存しようとしています。ただし、構造体で json.Marshal または mgo.Collection.Upsert を使用すると、ネストされた構造はフラット化されます。
データベースにネストされた構造を保持するには、構造体の定義に進みます。このタグは、ネストされた構造体のフィールドを、あたかも外部構造体の直接フィールドであるかのように扱うように Mgo に指示します。
たとえば、前述した簡略化された例を考えてみましょう。
<code class="go">type Square struct { Length int Width int } type Cube struct { Square `bson:",inline"` Depth int }</code>
この場合、 Cube 構造体は次の JSON 構造でデータベースに保存されます:
<code class="json">{ "Length": 2, "Width": 3, "Depth": 4 }</code>
これは目的の出力と一致します。ネストされた構造を保持します。
以上がMongoDB に Go 構造体を保存するときにネストされた構造を保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。