Трябва да погледнете вградения флаг на пакета bson (който е документиран под bson.Marshal). Той трябва да ви позволи да направите нещо подобно:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Сега обаче ще забележите, че получавате грешки с дублирани ключове, когато се опитате да четете от базата данни с тази структура, тъй като и двете adminUser и User съдържат ключа secret .
Във вашия случай бих премахнал Secret поле от User и има само един в adminUser .Тогава винаги, когато трябва да пишете в secret поле, уверете се, че използвате adminUser .