亲宝软件园·资讯

展开

MongoDB聚合查询

圣人不仁 人气:0

最近工作使用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;


 


 

加载全部内容

相关教程
猜你喜欢
用户评论