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

Używanie findOne w mongodb, aby uzyskać element o maksymalnym identyfikatorze

Powinieneś użyć find , tak jak już jesteś, a nie agregację, która będzie wolniejsza, ponieważ musi przeskanować wszystko wartości pól _id, aby obliczyć maks.

Jak zaznaczono w komentarzach, nie różnica między używaniem find() i findOne() - funkcjonalnie lub elegancko. W rzeczywistości findOne w powłoce (iw sterownikach, które to implementują) jest zdefiniowane w kategoriach find (z limitem -1 i ładnym drukiem w powłoce).

Jeśli naprawdę chcesz zrobić odpowiednik

db.collection.find().sort({_id:-1}).limit(1).pretty()

jako findOne możesz to zrobić za pomocą tej składni:

db.collection.findOne({$query:{},$orderby:{_id:-1}})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Monitorowanie i zabezpieczanie MongoDB za pomocą ClusterControl Advisors

  2. Mockowanie bazy danych w node.js?

  3. MongoDB $asin

  4. Jakieś szczegółowe i konkretne powody, dla których MongoDB jest znacznie szybszy niż bazy danych SQL?

  5. Kompilacje indeksu MongoDB — zapobieganie uruchamianiu nowych kompilacji przez użytkowników