我试图将游标的数据解码成一个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) ... } ...
但是bson文档有如下值:
地图[_id:ObjectID("5c2d0809a49bad7d547ec028") applications:bson.Array[bson.Document{bson.Element{"enabled": true}}] userName:coto userUUID:df2d ea92-c189-53b3-aafe-485d0be23bee]
并将地图解析为 JSON:
{"_id":"5c2d0809a49bad7d547ec028","applications":[{}],"userName":"coto","userUUID":"df2dea92-c189-53b3-aafe-485d0be23bee"}
如您所见,键“applications”在 JSON 中为空,但它在 BSON 文档中确实有内容。我不知道为什么数据会消失。
我该如何解决这个错误?谢谢。
12345678_0001
GCT1015
相关分类