MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Tipo incorporado Golang + MongoDB (incorporando um struct em outro struct)


Você deve dar uma olhada no sinalizador embutido do pacote bson (que está documentado em bson.Marshal). Ele deve permitir que você faça algo assim:
type adminUser struct {
    User `bson:",inline"`
    Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}

No entanto, agora você notará que obtém erros de chave duplicada ao tentar ler do banco de dados com essa estrutura, pois tanto adminUser e User contém a chave secret .

No seu caso, eu removeria o Secret campo de User e só tem um em adminUser .Então sempre que você precisar escrever no secret campo, certifique-se de usar um adminUser .