sql >> Databáze >  >> NoSQL >> MongoDB

Najít podle id pomocí mgo

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)




  1. Problém MongoDB \uXXXX

  2. java.lang.IncompatibleClassChangeError:Implementace třídy Mongo

  3. MongoDB $toString

  4. Redis nepřebírá události vysílání v Laravel 5.1