title: How I convert a BSON Document into a map[string]interface{}
body: <p>I was trying to decode the data of the cursor into a map[string]interface{}, I tried it directly but it doesn't works at all, so I fount that I have to convert  it to a BSON document and next convert it to a map[string]interface{}, and finally into a JSON string. I tried the following code: </p>
  
  <pre><code>...
  for cursor.Next(context.Background()) {
      err = cursor.Decode(&amp;itemBson)
      ...
      b, err := bson.Marshal(itemBson)
      ...
      err = bson.Unmarshal(b, &amp;itemMap)
      ...
  }
  ...
  </code></pre>
  
  <p>But the bson document has the following value:</p>
  
  <p>map[_id:ObjectID("5c2d0809a49bad7d547ec028") applications:bson.Array[bson.Document{bson.Element{"enabled": true}}] userName:coto userUUID:df2d
  ea92-c189-53b3-aafe-485d0be23bee]</p>
  
  <p>And the map parsed as JSON:</p>
  
  <p>{"_id":"5c2d0809a49bad7d547ec028","applications":[{}],"userName":"coto","userUUID":"df2dea92-c189-53b3-aafe-485d0be23bee"}</p>
  
  <p>As you can see the key "applications" is empty in the JSON, but it really has content in the BSON document. I don't know why the data disappear.</p>
  
  <p>How I can solve this error?
  Thanks.</p>