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

Làm thế nào để phân trang với Mongoose trong Node.js?

Tôi rất thất vọng vì những câu trả lời được chấp nhận trong câu hỏi này. Điều này sẽ không mở rộng. Nếu bạn đọc bản in đẹp trên cursor.skip ():

Phương thức cursor.skip () thường đắt vì nó yêu cầu máy chủ đi bộ từ đầu tập hợp hoặc chỉ mục để lấy vị trí bù hoặc bỏ qua trước khi bắt đầu trả về kết quả. Khi bù đắp (ví dụ:pageNumber ở trên) tăng lên, thì cursor.skip () sẽ trở nên chậm hơn và nhiều CPU hơn. Với các bộ sưu tập lớn hơn, cursor.skip () có thể bị ràng buộc IO.

Để đạt được phân trang theo cách có thể mở rộng, hãy kết hợp giới hạn () cùng với ít nhất một tiêu chí bộ lọc, ngày createdOn phù hợp với nhiều mục đích.

MyModel.find( { createdOn: { $lte: request.createdOnBefore } } )
.limit( 10 )
.sort( '-createdOn' )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Xác thực không thành công khi cố gắng lưu vào mongodb

  2. Dữ liệu cập nhật MongoDB trong trường lồng nhau

  3. Làm thế nào để tạo lược đồ mongoose động?

  4. thay đổi kiểu mongodb thành mảng

  5. Mongo Sắp xếp theo Số lượng Kết quả phù hợp trong Mảng