Heim >Backend-Entwicklung >Golang >Wie konvertiere ich eine „primitive.ObjectID' in Go mit dem MongoDB-Treiber in einen String?

Wie konvertiere ich eine „primitive.ObjectID' in Go mit dem MongoDB-Treiber in einen String?

DDD
DDDOriginal
2024-11-07 22:15:03685Durchsuche

How to Convert a `primitive.ObjectID` to a String in Go with the MongoDB Driver?

Konvertieren von Primitive.ObjectID in String in Go mit MongoDB-Treiber

Beim Arbeiten mit dem MongoDB-Treiber von go.mongodb.org/mongo-driver, Konvertieren eines Primitivs. ObjectID zu einer Zeichenfolge kann eine Herausforderung sein.

Problem

Der Versuch, mithilfe von mongoDoc["_id"].(string) eine mongo-driver.ObjectID zu einer Zeichenfolge zuzuordnen, führt zu einer Laufzeitpanik :

panic: interface conversion: interface {} is primitive.ObjectID, not string

Lösung

Der Fehler tritt auf, weil mongoDoc["_id"] einen Schnittstellenwert vom Typ interface{} mit einem konkreten Wert von primitive.ObjectID enthält. Um erfolgreich in eine Zeichenfolge zu konvertieren, müssen wir den Wert „primitiv.ObjectID“ selbst anstelle des Schnittstellenwerts eingeben.

mongoId := mongoDoc["_id"].(primitive.ObjectID)
stringObjectID := mongoId.Hex()

Die Hex()-Methode für den Typ „primitiv.ObjectID“ bietet eine hexadezimale Darstellung davon Bytes.

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine „primitive.ObjectID' in Go mit dem MongoDB-Treiber in einen String?. 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