Heim >Backend-Entwicklung >Golang >Warum ist mein Feld „_id' leer, wenn ich Artikelobjekte mit mgo abrufe?
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!