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
.