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

Làm cách nào chúng ta có thể triển khai Pagination cho Mongodb Collection bằng cách sử dụng mongoTemplate

Để phân trang chung, bạn có thể sử dụng .skip().limit() các bổ ngữ trên đối tượng Truy vấn mà bạn có thể chuyển vào làm đối số cho phương thức của mình:

    Query query = new Query();
    query.addCriteria(Criteria.where("a").is("b"));
    query.skip(10);
    query.limit(10);

    List<Foo> results = mongoOperation.find(query, Foo);

Với .skip() là kết quả có thể xảy ra như thế nào và .limit() là kích thước trang sẽ trả về.

Vì vậy, lấy một phiên bản của MongoOperations từ MongoTemplate và sử dụng một .find() tiêu chuẩn hoạt động từ đó.

Mặc dù vậy, bỏ qua và giới hạn không phải là tùy chọn hiệu quả nhất, hãy cố gắng lưu trữ các giá trị nhìn thấy lần cuối trên một chỉ mục tự nhiên như _id nếu có thể và sử dụng các truy vấn phạm vi để tránh "bỏ qua" 1000 kết quả.

    Query query = new Query();
    query.addCriteria(Criteria.where("_id").gt(lastSeen));
    query.limit(10);


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB làm nơi lưu trữ tệp

  2. Tôi có nên truy cập trực tiếp mongodb không?

  3. MongoDB:Không thể chuẩn hóa truy vấn:BadValue Projection không thể có kết hợp bao gồm và loại trừ

  4. Ký hiệu dấu chấm so với $ elemMatch

  5. MONGO chỉ lấy tên của tài liệu mà không nhận được toàn bộ tài liệu