首页 >后端开发 >Golang >如何使用 MongoDB 驱动程序将 `primitive.ObjectID` 转换为 Go 中的字符串?

如何使用 MongoDB 驱动程序将 `primitive.ObjectID` 转换为 Go 中的字符串?

DDD
DDD原创
2024-11-07 22:15:03680浏览

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

使用 MongoDB 驱动程序将 Primitive.ObjectID 转换为 Go 中的字符串

使用 go.mongodb.org/mongo-driver 中的 MongoDB 驱动程序时,转换原语。将 ObjectID 转换为字符串可能具有挑战性。

问题

尝试使用 mongoDoc["_id"].(string) 将断言 mongo-driver.ObjectID 键入字符串会导致运行时恐慌:

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

解决方案

发生错误是因为 mongoDoc["_id"] 持有一个类型为interface{}的接口值,具体值为primitive.ObjectID。要成功转换为字符串,我们需要断言 Primitive.ObjectID 值本身而不是接口值。

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

primitive.ObjectID 类型上的 Hex() 方法提供了其十六进制表示形式字节。

以上是如何使用 MongoDB 驱动程序将 `primitive.ObjectID` 转换为 Go 中的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn