bsonパッケージのインラインフラグ(bson.Marshalで文書化されています)を確認する必要があります。これにより、次のようなことができるようになります。
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
ただし、この構造でデータベースから読み取ろうとすると、両方のadminUser
が原因で、重複するキーエラーが発生することに気付くでしょう。 およびUser
キーsecret
が含まれています 。
あなたの場合、Secret
を削除します User
のフィールド adminUser
に1つだけあります 。その後、secret
に書き込む必要があるときはいつでも フィールドでは、必ずadminUser
を使用してください 。