pageQuery

open fun <T> pageQuery(query: Query, entityClass: Class<T>, pageSize: Integer, pageNum: Integer, collectionName: String): PageResult<T>

分页查询,直接返回集合类型的结果.

See also


open fun <T, R> pageQuery(query: Query, entityClass: Class<T>, mapper: (T) -> R, pageSize: Integer, pageNum: Integer, collectionName: String): PageResult<R>

分页查询,不考虑条件分页,直接使用skip-limit来分页.

See also


open fun <T, R> pageQuery(query: Query, entityClass: Class<T>, mapper: (T) -> R, pageSize: Integer, pageNum: Integer, lastId: String, collectionName: String): PageResult<R>

分页查询.

Return

PageResult,一个封装page信息的对象.

Parameters

query

Mongo Query对象,构造你自己的查询条件.

entityClass

Mongo collection定义的entity class,用来确定查询哪个集合.

mapper

映射器,你从db查出来的list的元素类型是entityClass, 如果你想要转换成另一个对象,比如去掉敏感字段等,可以使用mapper来决定如何转换.

pageSize

分页的大小.

pageNum

当前页.

lastId

条件分页参数, 区别于skip-limit,采用find(_id>lastId).limit分页. 如果不跳页,像朋友圈,微博这样下拉刷新的分页需求,需要传递上一页的最后一条记录的ObjectId。 如果是null,则返回pageNum那一页.

<T>

collection定义的class类型.

<R>

最终返回时,展现给页面时的一条记录的类型。