Buď použijete Collection.FindId()
a pak předáte pouze hodnotu id, nebo použijete Collection.Find()
a pak musíte zadat hodnotu také s názvem pole:
err2 := c.FindId(bson.ObjectIdHex("58593d1d6aace357b32bb3a1")).One(&data)
// OR
err2 := c.Find(bson.M{"_id": bson.ObjectIdHex("58593d1d6aace357b32bb3a1")}).
One(&data)
Pokud se neobjeví žádné chyby, znamená to, že dokument byl nalezen.
Pokud vždy vidíte 0
vytištěno (jako hodnota id_cookie.IdCookie
pole), to znamená, že pole v dokumentu obsahující toto ID má jiný název.
Pomocí značek struct sdělte, jak je uložen ve vašem MongoDB. Např. pokud se ve vaší MongoDB nazývá "myid"
, můžete to zmapovat takto:
type id_cookie struct {
IdCookie int `bson:"myid"`
}
Všimněte si také, že byste se neměli připojovat k serveru MongoDB pokaždé, když se chcete dotazovat na nějaká data, místo toho se připojte jednou a relaci pouze znovu použijte. podrobnosti viz:mgo - výkon dotazu se zdá trvale pomalý (500-650 ms)