mongoTemplate查询

//设置分页
Integer pageSize = po.getPageSize();
Integer startRows = (po.getPage() - 1) * pageSize;

//模糊查询
Criteria criteria = new Criteria();
if (!StringUtils.isEmpty(po.getKeyword())){
String regex = String.format("%s%s%s", “^.", po.getKeyword().trim(), ".$”);
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
criteria = Criteria.where(“teacherName”).regex(pattern);
}

Aggregation customerAgg = Aggregation.newAggregation(
Aggregation.project(“teacherId”, “messageId”, “teacherName”), //相当于select
Aggregation.match(criteria), //查询条件相当于where
Aggregation
.group(“teacherId”).first(“teacherId”).as(“teacherId”) //分组
.first(“messageId”).as(“id”) //as起别名对应实体字段
.first(“teacherName”).as(“name”)
.count().as(“replyNum”),//组内统计数
Aggregation.sort(Sort.by(Sort.Order.asc(“messageId”))),//排序
Aggregation.sort(Sort.by(Sort.Order.asc(“messageId”))),
Aggregation.skip(startRows),
Aggregation.limit(pageSize)

);

AggregationResults aggregate = mongoTemplate.aggregate(customerAgg, TableConstant.USER_TALK_INFOR, AnswerQueVo.class);
List list = aggregate.getMappedResults();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值