Você pode usar
Collection.FindId()
e então você passa apenas o valor do id ou usa Collection.Find()
e então você tem que especificar um valor com o nome do campo também:err2 := c.FindId(bson.ObjectIdHex("58593d1d6aace357b32bb3a1")).One(&data)
// OR
err2 := c.Find(bson.M{"_id": bson.ObjectIdHex("58593d1d6aace357b32bb3a1")}).
One(&data)
Se você não receber nenhum erro, isso significa que o documento foi encontrado.
Se você sempre vê
0
impresso (como o valor do id_cookie.IdCookie
field), isso significa que o campo no documento que contém esse id tem um nome diferente. Use tags struct para informar como ele é armazenado em seu MongoDB. Por exemplo. se no seu MongoDB é chamado
"myid"
, você pode mapeá-lo assim:type id_cookie struct {
IdCookie int `bson:"myid"`
}
Observe também que você não deve se conectar ao servidor MongoDB toda vez que quiser consultar alguns dados, em vez disso, conecte-se uma vez e apenas reutilize a sessão. para obter detalhes, consulte:mgo - o desempenho da consulta parece consistentemente lento (500-650ms)