MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara mendapatkan catatan N terakhir di mongodb?

Jika saya memahami pertanyaan Anda, Anda perlu mengurutkan dalam urutan menaik.

Dengan asumsi Anda memiliki beberapa bidang id atau tanggal yang disebut "x", Anda akan melakukannya ...

.sort()

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

1 akan mengurutkan secara menaik (terlama ke terbaru) dan -1 akan mengurutkan secara menurun (terbaru ke terlama.)

Jika Anda menggunakan _id yang dibuat secara otomatis bidang itu memiliki tanggal yang tertanam di dalamnya ... sehingga Anda dapat menggunakannya untuk memesan dengan ...

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

Itu akan mengembalikan semua dokumen Anda yang diurutkan dari terlama ke terbaru.

Tatanan Alami

Anda juga dapat menggunakan Orde Alami yang disebutkan di atas ...

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

Sekali lagi, menggunakan 1 atau -1 tergantung pesanan yang anda inginkan.

Gunakan .limit()

Terakhir, praktik yang baik adalah menambahkan batas saat melakukan kueri terbuka lebar semacam ini sehingga Anda dapat melakukannya ...

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

atau

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Apakah mongocli mendukung URL formula untuk chip Apple M1?

  2. Mengapa saya mendapatkan peringatan usang ini?! MongoDB

  3. Bagaimana cara melakukan operasi mongodb mentah di luwak?

  4. MongoDB dan CodeIgniter

  5. Apa driver MongoDB paling matang untuk C#?