title: How to find by id in golang and mongodb
body: <p>I need get values using ObjectIdHex and do update and also view the result. I'm using mongodb and golang.But following code doesn't work as expected </p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "gopkg.in/mgo.v2"
      "gopkg.in/mgo.v2/bson"
  )
  
  type Person struct {
      Id      bson.ObjectId `json:"id" bson:"_id,omitempty"`
      Name  string
      Phone string
  }
  
  func checkError(err error) {
      if err != nil {
          panic(err)
      }
  }
  
  const (
      DB_NAME       = "gotest"
      DB_COLLECTION = "pepole_new1"
  )
  
  func main() {
      session, err := mgo.Dial("localhost")
      checkError(err)
      defer session.Close()
  
      session.SetMode(mgo.Monotonic, true)
  
      c := session.DB(DB_NAME).C(DB_COLLECTION)
      err = c.DropCollection()
      checkError(err)
  
      ale := Person{Name:"Ale", Phone:"555-5555"}
      cla := Person{Name:"Cla", Phone:"555-1234-2222"}
      kasaun := Person{Name:"kasaun", Phone:"533-12554-2222"}
      chamila := Person{Name:"chamila", Phone:"533-545-6784"}
  
      fmt.Println("Inserting")
      err = c.Insert(&amp;ale, &amp;cla, &amp;kasaun, &amp;chamila)
      checkError(err)
  
      fmt.Println("findbyID")
      var resultsID []Person
      //err = c.FindId(bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")).One(&amp;resultsID)
      err = c.FindId(bson.M{"Id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")}).One(&amp;resultsID)
      checkError(err)
      if err != nil {
          panic(err)
      }
      fmt.Println("Phone:", resultsID)
  
  
  
      fmt.Println("Queryingall")
      var results []Person
      err = c.Find(nil).All(&amp;results)
  
      if err != nil {
          panic(err)
      }
      fmt.Println("Results All: ", results)
  
  
  }
  </code></pre>
  
  <p><code>FindId(bson.M{"Id": bson.ObjectIdHex("56bdd27ecfa93bfe3d35047d")}).One(&amp;resultsID)</code> didn't work for me and giving me following output </p>
  
  <pre><code>Inserting
  Queryingall
  Results All:  [{ObjectIdHex("56bddee2cfa93bfe3d3504a1") Ale 555-5555} {ObjectIdHex("56bddee2cfa93bfe3d3504a2") Cla 555-1234-2222} {ObjectIdHex("56bddee2cfa93bfe3d3504a3") kasaun 533-12554-2222} {ObjectIdHex("56bddee2cfa93bfe3d3504a4") chamila 533-545-6784}]
  findbyID
  panic: not found
  
  goroutine 1 [running]:
  main.checkError(0x7f33d524b000, 0xc8200689b0)
  </code></pre>
  
  <p>How can i fix this problem? i need get value using oid and do update also how can i do that  </p>