sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan kan vi implementere paginering til Mongodb Collection ved hjælp af mongoTemplate

Til generel paginering kan du bruge .skip() og .limit() modifikatorer på Query-objektet, som du kan sende ind som argumenter til din metode:

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

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

Med .skip() er hvordan kan resultater gå forbi og .limit() er sidestørrelsen, der skal returneres.

Så udled en forekomst af MongoOperations fra MongoTemplate og brug en standard .find() operation derfra.

Spring over og begræns er dog ikke den mest effektive mulighed, prøv at gemme sidst sete værdier på et naturligt indeks som _id hvor det er muligt, og brug intervalforespørgsler for at undgå at "springe over" gennem 1000-vis af resultater.

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


  1. Redis serialisering præfikset med ekstra streng

  2. Hvordan håndterer MongoDB samtidige opdateringer?

  3. Hvor farlig er en mongo-forespørgsel, som føres direkte fra en URL-forespørgselsstreng?

  4. PHP kan ikke indlæse dynamisk bibliotek (mongo.so)