U gebruikt ofwel Collection.FindId()
en dan geef je alleen de id-waarde door, of je gebruikt Collection.Find()
en dan moet je ook een waarde opgeven met de veldnaam:
err2 := c.FindId(bson.ObjectIdHex("58593d1d6aace357b32bb3a1")).One(&data)
// OR
err2 := c.Find(bson.M{"_id": bson.ObjectIdHex("58593d1d6aace357b32bb3a1")}).
One(&data)
Als u geen fouten krijgt, betekent dit dat het document is gevonden.
Als je altijd 0
. ziet afgedrukt (als de waarde van de id_cookie.IdCookie
veld), wat betekent dat het veld in het document met deze id een andere naam heeft.
Gebruik struct-tags om te vertellen hoe het is opgeslagen in uw MongoDB. bijv. als het in je MongoDB "myid"
wordt genoemd , kunt u het als volgt in kaart brengen:
type id_cookie struct {
IdCookie int `bson:"myid"`
}
Houd er ook rekening mee dat u niet elke keer verbinding moet maken met de MongoDB-server als u bepaalde gegevens wilt opvragen, maar één keer verbinding moet maken en de sessie opnieuw moet gebruiken. zie voor details:mgo - queryprestaties lijken constant traag (500-650 ms)