Я пытался декодировать данные курсора в интерфейс map [string] {}, я пробовал это напрямую, но он не работает вообще, поэтому я решил, что мне нужно преобразовать их в документ 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 имеет следующее значение:
map [_id: ObjectID ("5c2d0809a49bad7d547ec028") приложения: bson.Array [bson.Document {bson.Element {"enabled": true}}] userName: coto userUUID: df2d
ea92-c189-53b3-aafe-485d0be23bee]
А карта разбирается как JSON:
{ "_ идентификатор": "5c2d0809a49bad7d547ec028", "приложения": [{}], "имя_пользователя": "Кото", "userUUID": "df2dea92-c189-53b3-aafe-485d0be23bee"}
Как вы можете видеть, ключ "application" в JSON пуст, но он действительно имеет содержание в документе BSON. Я не знаю, почему исчезают данные.
Как я могу решить эту ошибку?
Спасибо.