1. 程式人生 > >Spring data mongodb 聚合查詢(aggregation) 之 group

Spring data mongodb 聚合查詢(aggregation) 之 group

插入資料:

      mongoTemplate.save(new Role("zhang1",5));
        mongoTemplate.save(new Role("zhang2",6));
        mongoTemplate.save(new Role("zhang3",12));
        mongoTemplate.save(new Role("zhang4",14));
        mongoTemplate.save(new Role("zhang5",23));
        mongoTemplate.save(new Role("zhang1",6));
        mongoTemplate.save(new Role("zhang5",24));

查詢:

        TypedAggregation<Role> agg = Aggregation.newAggregation(Role.class,
                Aggregation.group("name").
                        sum("age").as("agesum").
                        first("age").as("agefirst").
                        addToSet("age").as("agess")
                );
        AggregationResults<Document> result = mongoTemplate.aggregate(agg,Document.class);
        result.getMappedResults().forEach(document -> System.out.println(document));

結果:

Document{{_id=zhang1, agesum=11, agefirst=5, agess=[6, 5]}}
Document{{_id=zhang2, agesum=6, agefirst=6, agess=[6]}}
Document{{_id=zhang3, agesum=12, agefirst=12, agess=[12]}}
Document{{_id=zhang5, agesum=47, agefirst=23, agess=[24, 23]}}
Document{{_id=zhang4, agesum=14, agefirst=14, agess=[14]}}

注意:

預設會把分組的欄位放在_id 上

相關推薦

Spring data mongodb 聚合查詢(aggregation) group

插入資料: mongoTemplate.save(new Role("zhang1",5)); mongoTemplate.save(new Role("zhang2",6)); mongoTemplate.save(new Role

spring data mongodb高階查詢語句的使用(網上基本沒資料)

1.distinct以及distinct.length mongoTemplate.getCollection(collectionName).distinct(field, query.getQu

Java mongo db 使用 spring-data-mongodb findAll()查詢慢的問題以及解決的記錄

問題描述: 首先是spring mvc + mongo,使用的是spring-data-mongodb的jar包。然後在查詢資料的時候,資料庫裡面的這個表的documents數3789,也不多啊,怎麼會這麼慢呢。可能這單個model的屬性比較多,單個doc單size大了點吧

spring data mongodbmongodbTemplate查詢總結

常用的列表查詢(篩選條件,查詢欄位,排序及分頁),相當於關係型資料庫的: select fields from tableName where coditions order by field skip limit; DBObject cond = new

SPRING DATA MONGODB中使用聚合統計查詢(Java)

public class VideoRepositoryImpl implements VideoRepositoryCustom{          private static Logger logger = LoggerFactory.getLogger(VideoRepositoryImpl.cla

Mongodb系列- 使用spring-data-mongodb實現分頁查詢

mon 分頁查詢 rep template list pre pri 自動生成 aging 在用spring-data-mongodb框架開發的過程中,需要實現分頁查詢,就百度了下,沒找到滿意的又google了下,找到了思路. 在spring-data-mongodb 官

Spring Data MongoDB 分頁查詢

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Spring系列學習Spring Data MongoDB資料訪問

英文原文:https://spring.io/projects/spring-data-mongodb 目錄 概述 介紹 特性 快速開始 學習 文件 示例 概述 MongoDB的Spring Data是Spring Data專案的一部分,旨在為新資料儲存提

Spring Data MongoDB 五:進階文件查詢(分頁、Morphia)(二)

一.簡介      SpringData  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate對MongoDB的find

Mongodb高階查詢Aggregation聚合元件分頁

用Mongo的聚合元件Aggregation要用到兩個方法skip和limit。skip設定起點(分頁的時候不包含起點,從起點的下一行開始),limit設定條數。如: Aggregation.skip(10), Aggregation.limit(20)的意思是(10,2

spring-data-mongodbMongoTemplate 新增資料

首先建立一個實體類,我們這邊用文章來做實體類,定義如下欄位:注意實體類要建在之前配置轉換目錄的包下面,上篇文章applicationContent.xml裡的配置,base-package路徑對了框架才會將實體類與mongodb中的集合對應起來。<!-- 自動掃描以下包的有Doucment註解的類 --

使用Spring訪問Mongodb的方法大全——Spring Data MongoDB查詢指南

1.概述 Spring Data MongoDB 是Spring框架訪問mongodb的神器,藉助它可以非常方便的讀寫mongo庫。本文介紹使用Spring Data MongoDB來訪問mongodb資料庫的幾種方法: 使用Query和Criteria類 JPA自動生成的查詢方法

Spring Data MongoDB 六:進階Aggregation操作(上)

一、Aggregate簡介                                                                                 db.coll

Spring Data MongoDB 三:基本文件查詢(Query、BasicQuery)(一)

一.簡介      Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate對MongoDB的CRUD的操作,上一篇我們介紹了對MongoDB的新增和刪除, 今天我們

關於spring-data-mongodb用戶名密碼登錄報錯問題:Failed to authenticate to database

數據 base 設置 thread read ber ram tro pat 一.問題   1.spring-data-mongodb用戶名密碼登錄報錯問題:Failed to authenticate to database org.springframew

mongodb聚合查詢

類型 結構 對數 個數字 col 倒序 ron 介紹 catch MongoDB中聚合(aggregate)主要用於處理數據(諸如統計平均值,求和等),並返回計算後的數據結果。有點類似sql語句中的 count(*)。 $sum 計算總和。 db.mycol.aggr

Spring Data JPA動態查詢(多條件and)

ica cat 滿足 from pos true ans let tid entity: @Entity @Table(name = "data_illustration") public class Test { @Id @Gen

How to convert BigDecimal to Double in spring-data-mongodb framework

public 行存儲 沒有 err 自己 dbr tom odbc sim 問題描述:我們都知道對於涉及錢的數據必須使用BigDecimal類型進行存儲,今天在查詢mongo時仍然有精度問題,雖然我在代碼中使用了Big Decimal類型,但mongo中使用的是double

MongoDB聚合Aggregation Pipeline基礎篇上

結果集 文檔 https set 閱讀 ins 聚合 sum() 2.6 學習MongoDB 十一: MongoDB聚合(Aggregation Pipeline基礎篇上)(三) 2016年06月09日 10:47:10 閱讀數:15320 一、Aggregate簡介

spring data jpa關聯查詢(一對一、一對多、多對多)

sse eager save net array ota println ack generate   在實際過往的項目中,常用的查詢操作有:1、單表查詢,2、一對一查詢(主表和詳情表)3、一對多查詢(一張主表,多張子表)4、多對多查詢(如權限控制,用戶、角色多對多)。做個