Untuk pagination umum Anda dapat menggunakan .skip()
dan .limit()
pengubah pada objek Kueri yang dapat Anda berikan sebagai argumen untuk metode Anda:
Query query = new Query();
query.addCriteria(Criteria.where("a").is("b"));
query.skip(10);
query.limit(10);
List<Foo> results = mongoOperation.find(query, Foo);
Dengan .skip()
adalah bagaimana hasil dapat melewati dan .limit()
menjadi ukuran halaman yang akan dikembalikan.
Jadi, turunkan instance MongoOperations dari MongoTemplate dan gunakan .find()
standar operasi dari sana.
Lewati dan batasi bukanlah opsi yang paling berkinerja, coba simpan nilai yang terakhir terlihat pada indeks alami seperti _id
jika memungkinkan dan gunakan kueri rentang untuk menghindari "melompati" melalui 1000 hasil.
Query query = new Query();
query.addCriteria(Criteria.where("_id").gt(lastSeen));
query.limit(10);