小编Mar*_*rco的帖子

我如何将 BSON 文档转换为 map[string]interface{}

我试图将光标的数据解码成一个map[string]interface{},我直接试了一下,但根本不起作用,所以我发现我必须将其转换为BSON文档,然后再转换它到一个 map[string]interface{},最后到一个 JSON 字符串。我尝试了以下代码:

...
for cursor.Next(context.Background()) {
    err = cursor.Decode(&itemBson)
    ...
    b, err := bson.Marshal(itemBson)
    ...
    err = bson.Unmarshal(b, &itemMap)
    ...
}
...
Run Code Online (Sandbox Code Playgroud)

但是 bson 文档具有以下值:

地图[_id:ObjectID("5c2d0809a49bad7d547ec028") applications:bson.Array[bson.Document{bson.Element{"enabled": true}}] userName:coto userUUID:df2d ea92-c189-53b3-aafe-485d0be233

地图解析为 JSON:

{"_id":"5c2d0809a49bad7d547ec028","applications":[{}],"userName":"coto","userUUID":"df2dea92-c189-53b3-aafe-485d0be23bee"}

正如您所看到的,JSON 中的关键“应用程序”是空的,但它确实在 BSON 文档中有内容。我不知道为什么数据消失了。

我该如何解决这个错误?谢谢。

go mongodb mongo-go

4
推荐指数
2
解决办法
7094
查看次数

标签 统计

go ×1

mongo-go ×1

mongodb ×1