sql >> Databasteknik >  >> NoSQL >> MongoDB

Våranpassad fråga med sökbar

Som du kom på, stöder MongoTemplate inte hela sidabstraktionen. Som KneeLess sa kan du använda @Query -Anteckning för att göra några anpassade frågor.

Om detta inte räcker för dig kan du använda Spring Repository PageableExecutionUtils i kombination med din MongoTemplate.

Till exempel så här:

@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 gör samma sak. Som du kan se här , de skickar två frågor också.



  1. Datamigrering från Oracle till Mongo DB

  2. Installera MongoDB på CentOS 8

  3. Hur kan jag få för närvarande autentiserad användare Principal med fjädersäkerhet och Redis i vårstartapplikation

  4. Spela! 2 Framework - Lägg till Java Mongo-drivrutin