MongoDB聚合查询

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

MongoDB聚合查询

圣人不仁   2020-03-05 我要评论

最近工作使用MongoDB遇到聚合查询,对同一张表的多个字段进行加减乘除操作,网上查资料摸索半天终于找到查询方法,在此记录,以免以后忘记。

// 查询集合T.class里字段a-b的值别名c,保存到E.class里面返回
// 相当于SQL:select a-b c from T where name = 'Jack' and isDelete = 0. resultType = E Aggregation aggregation = Aggregation.newAggregation(
                  Aggregation.match(Criteria.where("name").is("Jack").and("isDelete").is(0)),
                  Aggregation.project(E.class).andExpression("subtract(a,b)").as("c"));
AggregationResults<E> results = mongoTemplate.aggregate(aggregation, T.class, E.class); // 返回列表 // 此处将返回值放入一个新对象是为了得到resultList之后还可以继续操作,不然会继续操作resultList会抛出异常 List<E> resultList = new ArrayList<E>(results.getMappedResults()); // 返回单个结果 E result = results.getUniqueMappedResult();

MongoDB加减乘除操作符:

加:$add;

减:$subtract;

乘:$multiply;

除:$divide;


 


 

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们