Heim >Backend-Entwicklung >Golang >Warum ist mein Feld „_id' leer, wenn ich Artikelobjekte mit mgo abrufe?

Warum ist mein Feld „_id' leer, wenn ich Artikelobjekte mit mgo abrufe?

DDD
DDDOriginal
2024-11-06 18:27:02528Durchsuche

Why is my

Der Wert „_id“ kann in Go mit Mgo nicht abgerufen werden

Ihr Code versucht, mithilfe von eine Liste von Artikelobjekten aus einer Datenbank abzurufen MGO-Bibliothek. Beim Ausdrucken des Ergebnisses stellen Sie jedoch fest, dass das Feld „_id“ durchgehend leer ist. Dies kann auf einen subtilen Fehler in Ihrer Strukturdefinition zurückgeführt werden.

In Ihrer Artikelstruktur verwendet die Zeile:

Id bson.ObjectId `json:"id" bson:"_id,omitempty"`

fälschlicherweise ein Tabulatorzeichen anstelle eines Leerzeichens zwischen JSON und BSON Tags. Dieser Syntaxfehler kann dazu führen, dass mgo die Felddefinition falsch interpretiert.

Um dieses Problem zu beheben, ersetzen Sie einfach das Tabulatorzeichen durch ein Leerzeichen, sodass die Zeile wie folgt aussieht:

Id bson.ObjectId `json:"id" bson:"_id,omitempty"`

Mit dieser Korrektur mgo analysiert nun die Strukturdefinition korrekt und ruft die Feldwerte „_id“ ordnungsgemäß ab.

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