Du bör ta en titt på bson-paketets inline-flagga (som finns dokumenterad under bson.Marshal). Den bör tillåta dig att göra något så här:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Men nu kommer du att märka att du får dubbletter av nyckelfel när du försöker läsa från databasen med denna struktur, eftersom både adminUser och User innehålla nyckeln secret .
I ditt fall skulle jag ta bort Secret fält från User och har bara den i adminUser . Sedan närhelst du behöver skriva till secret se till att du använder en adminUser .