MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để lấy N bản ghi cuối cùng trong mongodb?

Nếu tôi hiểu câu hỏi của bạn, bạn cần sắp xếp theo thứ tự tăng dần.

Giả sử bạn có một số trường id hoặc trường ngày được gọi là "x", bạn sẽ làm ...

.sort ()

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

1 sẽ sắp xếp tăng dần (cũ nhất đến mới nhất) và -1 sẽ sắp xếp giảm dần (mới nhất đến cũ nhất.)

Nếu bạn sử dụng _id được tạo tự động trường nó có một ngày được nhúng trong đó ... vì vậy bạn có thể sử dụng nó để đặt hàng trước ...

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

Điều đó sẽ trả lại tất cả các tài liệu của bạn được sắp xếp từ cũ nhất đến mới nhất.

Thứ tự tự nhiên

Bạn cũng có thể sử dụng Thứ tự tự nhiên được đề cập ở trên ...

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

Một lần nữa, sử dụng 1 hoặc -1 tùy thuộc vào đơn đặt hàng bạn muốn.

Sử dụng .limit ()

Cuối cùng, bạn nên thêm giới hạn khi thực hiện loại truy vấn mở rộng này để bạn có thể thực hiện một trong hai ...

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

hoặc

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách hideIndex () hoạt động trong MongoDB

  2. Làm thế nào để bắt đầu một trình bao mongodb trong vùng chứa docker?

  3. MongoDB và CodeIgniter

  4. mongodb nhận được các bản ghi riêng biệt

  5. Đếm chọn MongoDB (x riêng biệt) trên một cột được lập chỉ mục - đếm kết quả duy nhất cho các tập dữ liệu lớn