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
.