使用Mongo-Driver 將Primitive.ObjectID 轉換為Go 中的字串
當使用mongo-driver 在Go 中使用MongoDB 時使用Mongogo-driver 在Go 中使用MongoDB 時,開發人員可以遇到需要將Primitive.ObjectID 轉換為字串的情況。但是,嘗試使用類型斷言將primitive.ObjectID直接轉換為字串可能會導致錯誤:
panic: interface conversion: interface {} is primitive.ObjectID, not string
這是因為primitive.ObjectID是一個不同的類型,而interface{}不能直接類型斷言為primitive.ObjectID。若要將 Primitive.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 將primitive.ObjectID轉換為Go中的字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!