登录
首页 >  Golang >  Go问答

将 Golang 中的 Primitive.ObjectID 转换为字符串

来源:stackoverflow

时间:2024-03-11 22:45:26 383浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《将 Golang 中的 Primitive.ObjectID 转换为字符串》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

问题内容

我正在尝试将类型 primitive.objectid 转换为 go 中的 string 类型。我正在使用来自 go.mongodb.org/mongo-drivermongo-driver

我尝试使用类型断言,例如 -

mongoid := mongodoc["_id"];
stringobjectid := mongoid.(string)

哪个 vscode 接受。代码被编译,当它到达此特定代码行时,它会抛出此错误

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

解决方案


错误消息告诉 mongodoc["_id"] 的类型为 interface{},它包含 primitive.ObjectID 类型的值。这不是 string,它是一个不同的类型。您只能从接口值中键入assert primitive.objectid

如果您想要此 mongodb objectid 的 string 表示形式,您可以使用其 ObjectID.Hex() 方法来获取 objectid 字节的十六进制表示形式:

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

现在你只需执行 mongoid.hex()

好了,本文到此结束,带大家了解了《将 Golang 中的 Primitive.ObjectID 转换为字符串》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>