Heim >Backend-Entwicklung >Golang >Warum geben meine Go-mgo-Abfragen leere Objekte zurück?

Warum geben meine Go-mgo-Abfragen leere Objekte zurück?

DDD
DDDOriginal
2024-12-17 08:36:25715Durchsuche

Why are my Go mgo queries returning empty objects?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn