Трябва да погледнете вградения флаг на пакета 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
.