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

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

DDD
发布: 2024-11-07 22:15:03
原创
677 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板