如何编写Golang bson-MongoDB

Am trying to write the golang bson query for this mongodb query but cannot. Can anyone help? I can query mongo shell with the command

db.collection.find({"nfType": "SMF"},{"_id": 0,"ipv4Addresses": 1})

which gives the output that i want as

[{ "ipv4Addresses": ["198.51.100.1"]}]

Now am trying to write a golang bson for this query to get only the ipv4Addresses field as shown above but cannot. The document in the collection is of the form

{
    "nfType": [
      "SMF"
    ],
    "nfStatus": [
      "REG"
    ],
    "sNssais": [
      {
        "sst": 1,
        "sd": "sd1"
      }
    ],
    "nsiList": [
      "NSI-ID1"
    ],
    "ipv4Addresses": [
      "198.51.100.1"
    ]
  }

Just make one find Query and other one for filter and use these findQ and filter in your mongo connection

    findQ := bson.M{"nfType": "SMF"}
    filter := bson.M{"_id": 0, "ipv4Addresses": 1}
    data:=[]interface{}// i am using interface. You can use your actual object
mongo.DB(DBName).C(collectionName).Find(findQ).Select(filter).All(&data)
session, err := mgo.Dial(mgo_url)
if err != nil {
    panic(err)
}
c := session.DB(db).C(collection)
defer session.Close()

result := make([]map[string]interface{}, 0)
err = c.Find(bson.M(map[string]interface{}{"nfType": "SMF"})).All(&result)