Heim >Backend-Entwicklung >Golang >Warum geben meine Go-mgo-Abfragen leere Objekte zurück?
Go mgo: Abrufen leerer Objekte
Beim Versuch, Objekte aus einer MongoDB-Instanz mit dem Go mgo-Paket abzurufen, kann es zu leeren Objekten kommen Ergebnisobjekte. Dieses Problem kann auf eine unsachgemäße Feldbehandlung in den Strukturen zurückzuführen sein, die zur Darstellung der MongoDB-Dokumente verwendet werden.
In Ihrem Codebeispiel definieren Sie eine Benutzerstruktur mit den folgenden Feldern:
type users struct { user string `bson:"user" json:"user"` data string }
Allerdings Die Felder werden nicht exportiert (Großbuchstabe). Dementsprechend ignoriert das MGO-Paket sie während der Serialisierung und Deserialisierung mit MongoDB. Um dies zu beheben, exportieren Sie die Felder:
type users struct { User string `bson:"user" json:"user"` Data string `bson:"data" json:"data"` }
Durch den Export der Felder (mit Großbuchstaben als Anfangsbuchstaben) kann das MGO-Paket sie nun erkennen und den entsprechenden MongoDB-Feldern zuordnen. Zur Erinnerung: Standardmäßig werden die Feldnamen in der Struktur für die Zuordnung verwendet. Um eine benutzerdefinierte Zuordnung anzugeben, verwenden Sie Tags (wie bson und json im Beispiel).
Das obige ist der detaillierte Inhalt vonWarum geben meine Go-mgo-Abfragen leere Objekte zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!