MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да получа последните N записи в mongodb?

Ако разбирам въпроса ви, трябва да сортирате във възходящ ред.

Ако приемем, че имате поле за идентификация или дата, наречено "x", бихте направили ...

.sort()

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

1 ще сортира възходящо (от най-старите към най-новите) и -1 ще сортира низходящо (от най-новите към най-старите.)

Ако използвате автоматично създадения _id поле има вградена дата ... така че можете да го използвате, за да поръчате по ...

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

Това ще върне обратно всичките ви документи, сортирани от най-старите към най-новите.

Естествен ред

Можете също да използвате естествен ред, споменат по-горе ...

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

Отново с помощта на 1 или -1 в зависимост от поръчката, която искате.

Използвайте .limit()

И накрая, добра практика е да добавите ограничение, когато правите този вид широко отворена заявка, за да можете да направите едно от двете...

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

или

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB mongorestore и съществуваща колекция със записи

  2. Импортирайте данни във вашите новосъздадени екземпляри на MongoDB

  3. Преглед на управлението на потребителите на MongoDB

  4. Как да добавите json във вложен масив на mongodb документ с помощта на Spring?

  5. MongoDB:Рамка за агрегиране:Вземете документ с последна дата за идентификатор на групиране