ホームページ >バックエンド開発 >Golang >Mgo の「_id」フィールドが空の文字列を返すのはなぜですか?

Mgo の「_id」フィールドが空の文字列を返すのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-11 16:53:03902ブラウズ

Why Is My Mgo

Mgo と Go を使用した "_id" 値の取得

この質問は、MongoDB ドキュメントの "_id" 値が一貫して取得される問題を解決します。 Go で mgo を使用すると、空の文字列として返されました。

問題の説明:

ユーザーが MongoDB ドキュメントを表す構造体を定義しました。ここで、「_id」フィールドに注釈が付けられています。 json:"id" と bson:"_id,omitempty" の両方を使用します。データベースからドキュメントをフェッチするとき、「_id」フィールドは常に空の文字列に設定されます。

デバッグと解決策:

コードを調べたところ、 「_id」フィールドの注釈に微妙なエラーがあることがわかりました。 bson:"_id,omitempty" アノテーションでは、スペース の代わりに タブ が空白として使用されていました。これにより、mgo ドライバーは注釈を誤って解釈していました。

次のコード スニペットは、正しい構文を示しています。

この修正により、_id 値がデータベースから適切に取得されるようになり、期待どおりに戻りました。

以上がMgo の「_id」フィールドが空の文字列を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。