Heim >Backend-Entwicklung >Golang >Warum ist mein Feld „_id' leer, wenn ich mgo in Go verwende?

Warum ist mein Feld „_id' leer, wenn ich mgo in Go verwende?

Susan Sarandon
Susan SarandonOriginal
2024-11-06 17:40:03224Durchsuche

Why Is My

Fehlerbehebung beim Abrufen des Feldwerts „_id“ in Go mit mgo

Dieser Artikel befasst sich mit dem Problem, dass der Feldwert „_id“ nicht abgerufen werden kann bei Verwendung von mgo mit Go. Das Problem trat beim Versuch auf, Daten aus einer MongoDB-Datenbank abzurufen.

Erstens definiert das Code-Snippet eine Struktur namens „Article“, die ein Dokument in der Datenbank darstellt. Es enthält Felder wie „_id“, „title“, „author“ und andere.

Die Funktion „AllArticles()“ ruft alle Artikel aus der Datenbank ab und speichert sie im Slice „articles“. Beim Drucken der Ergebnisse wurde festgestellt, dass das Feld „_id“ eine leere Zeichenfolge ist.

Um dieses Problem zu beheben, wurde festgestellt, dass in der Strukturdefinition ein Abstandsproblem auftrat. Der Code hatte ursprünglich ein Tabulatorzeichen zwischen „json:“ und „bson:“, aber es hätte stattdessen ein Leerzeichen sein sollen.

Der korrigierte Code lautet:

type Article struct {
    Id      bson.ObjectId `json:"id" bson:"_id,omitempty"`

Das obige ist der detaillierte Inhalt vonWarum ist mein Feld „_id' leer, wenn ich mgo in Go verwende?. 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