Powinieneś spojrzeć na inline flagę pakietu bson (która jest udokumentowana w bson.Marshal). Powinna ona pozwolić ci zrobić coś takiego:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Jednak teraz zauważysz, że otrzymujesz błędy zduplikowanych kluczy, gdy próbujesz odczytać z bazy danych z tą strukturą, ponieważ zarówno adminUser
i User
zawierają klucz secret
.
W twoim przypadku usunęłabym Secret
pole od User
i mieć tylko ten w adminUser
.Wtedy, gdy będziesz musiał pisać do secret
pole, upewnij się, że używasz adminUser
.