## Code The World

Codice est quasi poem a.

# MongoDB GoLang 字符串与ObjectID相互转换

- 2022-04-04
- 作者 Bigsk
- 786 字

本文最后编辑于 前，其中的内容可能需要更新。

先看ObjectID转字符串(十六进制)，这个简单:

    func StrObjId(id primitive.ObjectID) string {
        return id.Hex()
    }

然后字符串(十六进制)就头疼了
查了百度、必应国内版，最后用英语在必应国际版上的一个小网站里面找到了解决方案，连官方文档都没提到这个函数：

    func ObjIdStr(id string) interface{} {
        result, err := primitive.ObjectIDFromHex(id)
        if err != nil {
            log.Println(err)
            return nil
        }
        return result
    }

当然，如果你不想在错误的时候返回nil，就可以直接写：

    func ObjIdStr(id string) primitive.ObjectID {
        result, err := primitive.ObjectIDFromHex(id)
        if err != nil {
            log.Println(err)
        }
        return result
    }

上述方法需要额外引入模块：

> “go.mongodb.org/mongo-driver/bson/primitive”

方法来源：
https://kb.objectrocket.com/mongo-db/how-to-find-a-mongodb-document-by-its-bson-objectid-using-golang-452

##### 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可

Codice est quasi poem a.

文章 24 分类 3 标签 3

#### 分类目录

- 技术 15
- 摄影 7
- 资源 2

#### 标签聚合

技术 摄影 资源

#### 最新文章

Python证书链出问题导致的模块全部报错 Mac安装软件时提示已损坏的解决办法 摄影作品：Field Python 中关于 round 函数的小坑 PVE LXC容器与宿主机共享目录