Conversion de Primitive.ObjectID en chaîne dans Go avec Mongo-Driver
Lorsque vous travaillez avec MongoDB dans Go à l'aide du pilote mongo, les développeurs peuvent rencontrez le besoin de convertir un primitive.ObjectID en une chaîne. Cependant, tenter de convertir un primitive.ObjectID directement en une chaîne à l'aide d'une assertion de type peut entraîner l'erreur :
panic: interface conversion: interface {} is primitive.ObjectID, not string
Cela est dû au fait que primitive.ObjectID est un type distinct et que l'interface {} ne peut pas être directement saisie. affirmé à primitive.ObjectID. Pour convertir un primitif.ObjectID en une représentation sous forme de chaîne, la méthode ObjectID.Hex() peut être utilisée. Voici un exemple :
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 }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!