Heim > Backend-Entwicklung > Golang > Warum erhalte ich leere Objekte, wenn ich MongoDB mit Go abfrage?

Warum erhalte ich leere Objekte, wenn ich MongoDB mit Go abfrage?

DDD
Freigeben: 2024-12-11 18:52:11
Original
529 Leute haben es durchsucht

Why Am I Getting Empty Objects When Querying MongoDB with Go?

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"` 
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage