Maison >développement back-end >Golang >Comment convertir un « primitif.ObjectID » en une chaîne en Go avec le pilote MongoDB ?

Comment convertir un « primitif.ObjectID » en une chaîne en Go avec le pilote MongoDB ?

DDD
DDDoriginal
2024-11-07 22:15:03682parcourir

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

Conversion de Primitive.ObjectID en chaîne dans Go avec le pilote MongoDB

Lorsque vous travaillez avec le pilote MongoDB de go.mongodb.org/mongo-driver, conversion d'une primitive. ObjectID dans une chaîne peut être difficile.

Problème

Tenter de saisir un mongo-driver.ObjectID dans une chaîne à l'aide de mongoDoc["_id"].(string) entraîne une panique à l'exécution :

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

Solution

L'erreur se produit car mongoDoc["_id"] contient une valeur d'interface de type interface{} avec une valeur concrète de primitive.ObjectID. Pour réussir la conversion en chaîne, nous devons taper assert la valeur primitive.ObjectID elle-même au lieu de la valeur de l'interface.

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

La méthode Hex() sur le type primitive.ObjectID fournit une représentation hexadécimale de son octets.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn