Heim >Backend-Entwicklung >Golang >Warum gibt mein Mgo-Feld „_id' eine leere Zeichenfolge zurück?
Abrufen von „_id“-Werten mit Mgo und Go
Diese Frage befasst sich mit einem Problem, bei dem der „_id“-Wert eines MongoDB-Dokuments konsistent ist wird als leere Zeichenfolge zurückgegeben, wenn mgo mit Go verwendet wird.
Problembeschreibung:
Der Benutzer hat eine Struktur zur Darstellung von MongoDB-Dokumenten definiert, wobei das Feld „_id“ mit Anmerkungen versehen ist mit sowohl json:"id" als auch bson:"_id,omitempty". Beim Abrufen der Dokumente aus der Datenbank wird das Feld „_id“ immer auf eine leere Zeichenfolge gesetzt.
Debugging und Lösung:
Nach der Prüfung des Codes war es so stellte fest, dass in der Anmerkung des Felds „_id“ ein subtiler Fehler vorlag. In der bson:"_id,omitempty"-Annotation wurde ein Tabulator als Leerzeichen anstelle eines Leerzeichens verwendet. Dies führte dazu, dass der MGO-Treiber die Annotation falsch interpretierte.
Der folgende Codeausschnitt zeigt die korrekte Syntax:
type Article struct { Id bson.ObjectId `json:"id" bson:"_id,omitempty"` }
Mit dieser Korrektur wird der _id-Wert nun ordnungsgemäß aus der Datenbank abgerufen und wie erwartet zurückgegeben.
Das obige ist der detaillierte Inhalt vonWarum gibt mein Mgo-Feld „_id' eine leere Zeichenfolge zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!