我希望能够将从 golang 的 mgo 库获取的原始 bson 数据输出到控制台以进行调试,但一直无法找到如何实现这一点。
对于 JSON,我是这样做的:
formatedData, err := json.MarshalIndent(rawData, "", " ")
if err != nil {
log.Print(err)
}
fmt.Printf("%s", formatedData)
BSON 是否有等效的方法?
最佳答案
bson 是一种二进制格式,它只是字节的一部分。它本身是人类不可读的,因为这种格式包含有关字段长度等的信息,并且所有数据都非常紧凑。它已经编码,因此无需编码。
你可以原样输出,但是会不可读。
请在此处查看 bson 规范:http://bsonspec.org/#/specification
如果你想查看 bson 的所有内容,你可以将它解码到一个映射中:
m := map[string]interface{}{}
rawData.Unmarshal(&m)
fmt.Printf("%+v\n", m)
关于go - 如何在 "pretty"文本中查看mgo的bson.Raw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48913850/