ホームページ  >  記事  >  バックエンド開発  >  Go で mgo を使用すると「_id」フィールドが空になるのはなぜですか?

Go で mgo を使用すると「_id」フィールドが空になるのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-06 17:40:03146ブラウズ

Why Is My

mgo を使用した Go での "_id" フィールド値の取得のトラブルシューティング

この記事では、"_id" フィールド値の取得に失敗する問題について説明しますGo で mgo を使用する場合。 MongoDB データベースからデータを取得しようとしたときに問題が発生しました。

まず、コード スニペットは、データベース内のドキュメントを表す「Article」という名前の構造体を定義します。これには、「_id」、「title」、「author」などのフィールドが含まれます。

「AllArticles()」関数は、データベースからすべての記事を取得し、「articles」スライスに保存します。結果を出力すると、「_id」フィールドが空の文字列であることがわかります。

この問題を解決するために、構造体定義にスペースの問題があることが判明しました。コードにはもともと「json:」と「bson:」の間にタブがありましたが、代わりにスペースを使用する必要がありました。

修正されたコードは次のとおりです:

type Article struct {
    Id      bson.ObjectId `json:"id" bson:"_id,omitempty"`

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

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