MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Znajdź według identyfikatora z mgo

Możesz użyć Collection.FindId() a następnie przekazujesz tylko wartość id lub używasz Collection.Find() a następnie musisz podać również wartość z nazwą pola:

err2 := c.FindId(bson.ObjectIdHex("58593d1d6aace357b32bb3a1")).One(&data)

// OR
err2 := c.Find(bson.M{"_id": bson.ObjectIdHex("58593d1d6aace357b32bb3a1")}).
    One(&data)

Jeśli nie pojawią się żadne błędy, oznacza to, że dokument został znaleziony.

Jeśli zawsze widzisz 0 drukowane (jako wartość id_cookie.IdCookie pole), co oznacza, że ​​pole w dokumencie o tym identyfikatorze ma inną nazwę.

Użyj znaczników struct, aby powiedzieć, jak jest przechowywany w twojej MongoDB. Np. jeśli w twojej bazie danych MongoDB nazywa się "myid" , możesz to zmapować w ten sposób:

type id_cookie struct {
    IdCookie int `bson:"myid"`
}

Pamiętaj też, że nie powinieneś łączyć się z serwerem MongoDB za każdym razem, gdy chcesz wysłać zapytanie o jakieś dane, zamiast tego połącz się raz i po prostu ponownie użyj sesji. po szczegóły patrz:mgo - wydajność zapytań wydaje się stale niska (500-650ms)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak połączyć się z wdrożeniami MongoDB za pomocą GUI Robo 3T?

  2. Node.js, Mongo znajduje i zwraca dane

  3. Wystąpił limit czasu po wybraniu serwera przez 30000 ms za pomocą CompositeServerSelector

  4. MongoDB $in Operator potoku agregacji

  5. Zwrócić ograniczoną liczbę rekordów określonego typu, ale nieograniczoną liczbę innych rekordów?