MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Type intégré Golang + MongoDB (intégration d'une structure dans une autre structure)

Vous devriez jeter un coup d'œil à l'indicateur en ligne du paquet bson (qui est documenté sous bson.Marshal). Il devrait vous permettre de faire quelque chose comme ceci :

type adminUser struct {
    User `bson:",inline"`
    Secret string `json:"secret,omitempty" bson:"secret,omitempty"`
}

Cependant, vous remarquerez maintenant que vous obtenez des erreurs de clé en double lorsque vous essayez de lire à partir de la base de données avec cette structure, car à la fois adminUser et User contenir la clé secret .

Dans votre cas, je supprimerais le Secret champ de User et n'avoir que celui dans adminUser .Ensuite, chaque fois que vous avez besoin d'écrire dans le secret champ, assurez-vous d'utiliser un adminUser .