sql >> Base de Datos >  >> NoSQL >> MongoDB

Tipo incrustado Golang + MongoDB (incrustación de una estructura en otra estructura)

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 .