Debería echar un vistazo al indicador en línea del paquete bson (que está documentado en bson.Marshal). Debería permitirle hacer algo como esto:
type adminUser struct {
User `bson:",inline"`
Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}
Sin embargo, ahora notará que obtiene errores de clave duplicada cuando intenta leer de la base de datos con esta estructura, ya que tanto adminUser y User contener la clave secret .
En tu caso quitaría el Secret campo de User y solo tengo el que está en adminUser .Luego, cada vez que necesite escribir en el secret campo, asegúrese de utilizar un adminUser .