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

DDD
Freigeben: 2024-11-06 18:27:02
Original
423 Leute haben es durchsucht

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

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

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!