Heim >Backend-Entwicklung >Golang >Warum erhalte ich leere Objekte, wenn ich MongoDB mit Go abfrage?
Leere Objekte in MongoDB-Abfragen mit Go
Beim Erlernen der Go-API-Entwicklung können beim Abrufen von Daten aus MongoDB mit dem mgo-Paket Probleme auftreten. Ein solches Problem besteht darin, beim Ausführen von Abfragen leere Objekte zu erhalten. Um dieses Problem zu beheben, ist es wichtig, die Verwendung von BSON- und JSON-Tags in der Go-Struktur zu verstehen.
In Ihrem bereitgestellten Code tritt das Problem auf, weil die Felder in der Benutzerstruktur nicht exportiert oder markiert werden. Daher werden sie vom MGO-Paket ignoriert. Um dies zu beheben, müssen Sie die Felder exportieren, indem Sie die Anfangsbuchstaben groß schreiben, wie zum Beispiel:
type Users struct { User string `bson:"user" json:"user"` Data string `bson:"data" json:"data"` }
Standardmäßig wird der Feldname angenommen, wenn Strukturwerte in/von MongoDB umgewandelt werden. Mithilfe von Tags können Sie jedoch Felder bestimmten Namen zuordnen, um sie zu serialisieren und abzurufen. In diesem Fall haben Sie Tags definiert, die mit den BSON- und JSON-Feldnamen übereinstimmen.
Nach diesen Änderungen ruft Ihr Code erfolgreich nicht leere Objekte aus der MongoDB-Sammlung ab. In der Druckzeile werden die korrekten Benutzerdaten und die Anzahl der Nachrichten in der Sammlung angezeigt.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich leere Objekte, wenn ich MongoDB mit Go abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!