Mongo-Driver를 사용하여 Go에서 Primitive.ObjectID를 문자열로 변환
mongo-driver를 사용하여 Go에서 MongoDB로 작업할 때 개발자는 다음을 수행할 수 있습니다. 프리미티브.ObjectID를 문자열로 변환해야 하는 경우가 있습니다. 그러나 유형 어설션을 사용하여 원시.ObjectID를 문자열로 직접 캐스팅하려고 하면 오류가 발생할 수 있습니다.
panic: interface conversion: interface {} is primitive.ObjectID, not string
이는 원시.ObjectID가 고유 유형이고 인터페이스{}가 직접 유형이 될 수 없기 때문입니다. 기본.ObjectID에 어설션되었습니다. 원시적.ObjectID를 문자열 표현으로 변환하려면 ObjectID.Hex() 메소드를 활용할 수 있습니다. 예는 다음과 같습니다.
package main import ( "context" "fmt" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) func main() { // Connect to MongoDB client, err := mongo.Connect(context.Background(), options.Client().ApplyURI("mongodb://localhost:27017")) if err != nil { panic(err) } defer client.Disconnect(context.Background()) // Get the ObjectId from a MongoDB document mongoDoc := bson.D{{"_id", primitive.NewObjectID()}} // Convert ObjectId to string using ObjectID.Hex() stringObjectID := mongoDoc["_id"].(primitive.ObjectID).Hex() fmt.Println(stringObjectID) // Output: 03174bcc88dea692233713e1 }
위 내용은 mongo-driver를 사용하여 Go에서 원시 객체 ID를 문자열로 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!