sql >> Database >  >> NoSQL >> MongoDB

Hoe kunnen we Paginering voor Mongodb Collection implementeren met behulp van mongoTemplate

Voor algemene paginering kunt u de .skip() . gebruiken en .limit() modifiers op het Query-object die u als argumenten aan uw methode kunt doorgeven:

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

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

Met .skip() zijnde hoe kunnen resultaten voorbij gaan en .limit() zijnde de paginagrootte om terug te keren.

Leid dus een instantie van MongoOperations af van MongoTemplate en gebruik een standaard .find() bediening vanaf daar.

Overslaan en beperken is echter niet de meest performante optie, probeer de laatst geziene waarden op te slaan op een natuurlijke index zoals _id waar mogelijk en gebruik bereikquery's om te voorkomen dat u duizenden resultaten "overslaat".

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


  1. MongoDB-verificatie niet ingeschakeld op Linux Server

  2. Mongodb werkt alle documenten bij met een unieke id

  3. MongoDB $orderBy

  4. Hoe configureer ik mongo om in docker te draaien om een ​​externe schijf op Windows te gebruiken?