MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Eingebetteter Golang + MongoDB-Typ (Einbettung einer Struktur in eine andere Struktur)

Sie sollten sich das Inline-Flag des bson-Pakets ansehen (das unter bson.Marshal dokumentiert ist). Es sollte Ihnen erlauben, so etwas zu tun:

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

Jetzt werden Sie jedoch feststellen, dass Sie doppelte Schlüsselfehler erhalten, wenn Sie versuchen, mit dieser Struktur aus der Datenbank zu lesen, da sowohl adminUser und User enthalten den Schlüssel secret .

In Ihrem Fall würde ich das Secret entfernen Feld von User und haben nur den einen in adminUser .Dann wann immer Sie in das secret schreiben müssen Stellen Sie sicher, dass Sie einen adminUser verwenden .