Go を使用して GAE データストアにネストされた構造を保存する
Google App Engine データストアは、Go のネストされた構造を限定的にサポートします。この記事では、データストア内でネストされた構造体ストレージを実現するためのソリューションを検討します。
問題
投稿を JSON としてユーザーに送信する場合、ユーザー情報を含める必要が生じます。ポストと一緒に。 2 つのフィールド (ユーザー ID 用とユーザー構造体用) を保存する従来の方法は冗長に思えます。より効率的な解決策はありますか?
解決策
Go の appengine データストア API は、この問題に対処する PropertyLoadSaver インターフェースを提供します。このインターフェイスを使用すると、ユーザーは構造体のカスタム シリアル化および逆シリアル化ロジックを定義できます。
このインターフェイスの Load メソッドと Save メソッドを実装することにより、データの構造化とシリアル化の方法を完全に制御できるようになります。この柔軟性により、ネストされた構造体を効果的に保存しながら、個々のフィールドのフィルタリングとインデックス付けを行うことができます。
実装
各構造体の PropertyLoadSaver インターフェイスを実装します。
出力 JSON
結果の JSON 出力は、目的のネストされた構造を保持します。
<code class="json">{ "POST": { "field1": "value1", "field2": "value2", "USER": { "user_field1": "value3", "user_Field2": "value4" } } }</code>
このアプローチは、ネストされた構造体を GAE データストアに保存するためのカスタマイズされたソリューションを提供し、データの整合性と効率的なデータ処理の両方を保証します。
以上がGo を使用してネストされた構造体を GAE データストアに保存する方法: 効率的なデータ処理のためのソリューションの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。