php エディター Zimo は本日、mongo の db .Decode(&dto) を使用してネストされた構造をマップする方法を紹介します。開発プロセスでは、ネストされた構造をデータベースからデコードして、対応するデータ転送オブジェクト (DTO) にマップする必要がある状況によく遭遇します。 mongo'db の Decode 関数を使用すると、このプロセスを簡素化できます。デコードする構造体とターゲット DTO オブジェクトを渡すだけで、デコードとマッピングが自動的に実行されます。この方法は簡単かつ効率的であり、開発効率を大幅に向上させることができます。次に、このメソッドを使用して入れ子構造のマッピングを実装する方法を詳しく紹介します。
json ドキュメントを問題なく作成するモデルがありますが、それを取得すると、ネストされた json オブジェクトが空になります。
リーリー ###構造### リーリー ###結果### リーリー私が読んだところによると、マップのネストされた値もデコードする必要がありますか?
解決策
json?ただし、
go mongodb ドライバーは bson で動作します構造タグは、go 構造フィールドを mongodb ドキュメント フィールドにマッピングする方法を定義するために使用されます。 course
構造ではjson
タグを使用しますが、decode
メソッド
は bson## を使用してドキュメント フィールドをマップします。 # タグを構造体フィールドに追加します。
この問題を解決するには、構造体フィールド (ネストされた構造体を含む) に bson タグを追加して、ドキュメントを構造体にデコードする方法を mongodb ドライバーに指示する必要があります。
リーリー
bson タグと
json
bson タグは、mongodb と対話するとき (たとえば、
.decode() を呼び出すとき) に使用され、
json タグは、mongodb とマーシャリング/アンマーシャリングするときに使用されます。 json形式を使用します。
さらに、
bson タグ内のフィールド名が mongodb ドキュメント内のフィールド名と一致していることを確認してください。たとえば、mongodb ドキュメント内のフィールドの名前が
course_details
coursedetails である場合、
bson タグは
bson:"coursedetails に変更する必要があります。 「。
以上がmongo'd db .Decode(&dto) を使用してネストされた構造をマッピングするの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。