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

Hvordan får man de sidste N poster i mongodb?

Hvis jeg forstår dit spørgsmål, skal du sortere i stigende rækkefølge.

Hvis du antager, at du har et id eller et datofelt kaldet "x", ville du gøre ...

.sort()

db.foo.find().sort({x:1});

1 vil sortere stigende (ældste til nyeste) og -1 vil sortere faldende (nyeste til ældste.)

Hvis du bruger det automatisk oprettede _id felt den har en dato indlejret i det ... så du kan bruge den til at bestille inden ...

db.foo.find().sort({_id:1});

Det vil returnere alle dine dokumenter sorteret fra ældste til nyeste.

Naturlig orden

Du kan også bruge en Natural Order nævnt ovenfor ...

db.foo.find().sort({$natural:1});

Igen ved at bruge 1 eller -1 afhængig af den rækkefølge, du ønsker.

Brug .limit()

Endelig er det god praksis at tilføje en grænse, når du laver denne form for bred åben forespørgsel, så du kan gøre enten ...

db.foo.find().sort({_id:1}).limit(50);

eller

db.foo.find().sort({$natural:1}).limit(50);


  1. Hvorfor er MongoDB så hurtigt

  2. Hvordan jeg skrev en Chart-Topping-app på en uge med Realm og SwiftUI

  3. Sideinddeling med MongoDB

  4. Understøtter Mongoose Mongodb `findAndModify`-metoden?