Converting Primitive.ObjectID to String in Golang
In Go, the mongo-driver from go.mongodb.org/mongo-driver manages MongoDB data types. However, converting the primitive.ObjectID type to a string requires a specific approach.
When attempting to use type assertion as seen in the provided code:
mongoId := mongoDoc["_id"] stringObjectID := mongoId.(string)
This line triggers the error:
panic: interface conversion: interface {} is primitive.ObjectID, not string
The issue arises because mongoDoc["_id"] is an interface{} containing a value of type primitive.ObjectID. Type assertion can only be performed on primitive types from interface values.
To obtain a string representation of the primitive.ObjectID, utilize the Hex() method of the primitive.ObjectID type. This method retrieves the hex representation of the ObjectId's bytes:
mongoId := mongoDoc["_id"] stringObjectID := mongoId.(primitive.ObjectID).Hex()
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3