Měli byste se podívat na inline příznak balíčku bson (který je zdokumentován pod bson.Marshal). Mělo by vám to umožnit udělat něco takového:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Nyní si však všimnete, že se při pokusu o čtení z databáze s touto strukturou zobrazí duplicitní chyby klíče, protože oba adminUser a User obsahovat klíč secret .
Ve vašem případě bych odstranil Secret pole od User a mít pouze ten v adminUser .Pak kdykoli budete potřebovat napsat do secret v poli, ujistěte se, že používáte adminUser .