登录
首页 >  Golang >  Go问答

Mongodb-go-driver接口转换:interface {}是primitive.ObjectID,而不是primitive.ObjectID(来自不同包的类型)

来源:stackoverflow

时间:2024-04-15 19:06:33 290浏览 收藏

golang学习网今天将给大家带来《Mongodb-go-driver接口转换:interface {}是primitive.ObjectID,而不是primitive.ObjectID(来自不同包的类型)》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

问题内容

我可以毫无问题地显示 result.InsertedID,但是,当我尝试访问该值以在其他地方使用它时,我不断收到上述错误。我想在离开插入新对象的方法之前获取该值。该错误消息没有任何意义。

我在 res.InsertedID.(primitive.ObjectID) 中遇到此错误。正确的做法是什么?

如何获取十六进制字符串形式的具体值?即使我可以获得具体的 ObjectID 而不是接口的值,我也会很高兴。


解决方案


应用程序中有两个名为 primitive 的包,其中包含名为 ObjectID 的类型。 type assertion 中的具体值来自这些包之一。断言的类型来自其他包。由于类型不相等,类型断言会出现混乱。

通过修改应用程序以使用 primitive 包(以及整个驱动程序)的单个导入路径来修复。

该包的规范导入路径已于 2019 年 2 月从 github.com/mongodb/mongo-go-driver/bson/primitive 更改为 go.mongodb.org/mongo-driver/bson/primitive。很可能应用程序使用这两个导入路径。

到这里,我们也就讲完了《Mongodb-go-driver接口转换:interface {}是primitive.ObjectID,而不是primitive.ObjectID(来自不同包的类型)》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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