sql >> Database teknologi >  >> NoSQL >> MongoDB

Brug findOne i mongodb til at få element med max id

Du skal bruge find , som du allerede er, og ikke aggregering, som vil være langsommere, da den skal scanne alle værdierne af _id-felter for at finde ud af maks.

Som kommentarer påpeget er der nej forskel på at bruge find() og findOne() - funktionelt eller elegancemæssigt. Faktisk findOne i skallen (og i de drivere, der implementerer den) er defineret i form af fund (med grænse -1 og med smukt tryk i skallen).

Hvis du virkelig ønsker at gøre hvad der svarer til

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

som findOne du kan gøre det med denne syntaks:

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


  1. Hvordan kan jeg udføre kommandoer i redis uden at få noget svar overhovedet?

  2. Fjern dubletter fra MongoDB

  3. Hvordan push-meddelelser med angular.js?

  4. mongodb 3.4.3 Tilladelse nægtet widtiger_kv_engine.cpp 267 fejl med ubuntu 16