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

Truy vấn tùy chỉnh mùa xuân có thể phân trang

Như bạn đã tìm ra, MongoTemplate không hỗ trợ tóm tắt trang hoàn chỉnh. Giống như KneeLess đã nói bạn có thể sử dụng @Query -Chú thích để thực hiện một số truy vấn tùy chỉnh.

Trong trường hợp điều này không đủ với bạn, có thể sử dụng Spring Repository PageableExecutionUtils kết hợp với MongoTemplate của bạn.

Ví dụ như thế này:

@Override
public Page<XXX> findSophisticatedXXX(/* params, ... */ @NotNull Pageable pageable) {

    Query query = query(
            where("...")
            // ... sophisticated query ...
    ).with(pageable);

    List<XXX> list = mongoOperations.find(query, XXX.class);
    return PageableExecutionUtils.getPage(list, pageable,
              () -> mongoOperations.count((Query.of(query).limit(-1).skip(-1), XXX.class));
}

Spring Repositories cũng đang làm như vậy. Như bạn có thể thấy tại đây , họ cũng kích hoạt hai truy vấn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB BasicDBObject vs Document trong java

  2. mongoose document.save không hoạt động

  3. ServerSelectionTimeoutError errno 11001 getaddrinfo không thành công python

  4. Cách kiểm tra trước tài liệu MongoDB đã xuất trong mongoexport

  5. Sử dụng lại các kết nối cơ sở dữ liệu với các hàm Azure bằng Javascript