Go mgo: 空のオブジェクトの取得
Go mgo パッケージを使用して MongoDB インスタンスからオブジェクトを取得しようとすると、空のオブジェクトが発生する可能性があります。結果オブジェクト。この問題は、MongoDB ドキュメントを表すために使用される構造体でのフィールド処理が不適切であることが原因である可能性があります。
コード サンプルでは、次のフィールドを持つユーザー構造体を定義します。
type users struct { user string `bson:"user" json:"user"` data string }
ただし、フィールドはエクスポートされません (最初の文字は大文字)。したがって、mgo パッケージは、MongoDB によるシリアル化および逆シリアル化中にそれらを無視します。これを修正するには、フィールドをエクスポートします。
type users struct { User string `bson:"user" json:"user"` Data string `bson:"data" json:"data"` }
フィールドをエクスポートすると (最初の文字は大文字を使用)、mgo パッケージはフィールドを認識し、対応する MongoDB フィールドにマップできるようになります。デフォルトでは、構造体のフィールド名がマッピングに使用されることに注意してください。カスタム マッピングを指定するには、タグ (例の bson や json など) を使用します。
以上がGo mgo クエリが空のオブジェクトを返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。