sql >> Database >  >> NoSQL >> MongoDB

FindOne gebruiken in mongodb om element met max id te krijgen

Gebruik find , zoals u al bent, en niet aggregatie die langzamer zal zijn omdat het alles moet scannen de waarden van _id velden om het maximum te bepalen.

Zoals opmerkingen hebben opgemerkt, is er geen verschil tussen het gebruik van find() en findOne() - functioneel of qua elegantie. In feite, findOne in de shell (en in de stuurprogramma's die het implementeren) wordt gedefinieerd in termen van vinden (met limiet -1 en met mooie afdruk in de shell).

Als je echt wil het equivalent van

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

als findOne je kunt het doen met deze syntaxis:

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


  1. MongoDB:Server heeft opstartwaarschuwingen

  2. Als ik een mongo-document-ID als een string heb, hoe vraag ik er dan naar als een _id?

  3. mongoDB array paginering

  4. Hoe in productie te gaan met MongoDB - Top tien tips