2017-02-13 53 views
1

MongoDB的$group如何寫標準查詢MongoDB的集團聚集

db.careLogBean.aggregate([{ 
    $unwind: "$comments" 
}, { 
    $sort: { 
     "comments.time": -1 
    } 
}, { 
    $group: { 
     _id: "$_id", 
     careGiverId: { 
      $first: "$careGiverId" 
     }, 
     careGiverName: { 
      $first: "$careGiverName" 
     }, 
     comments: { 
      $push: "$comments" 
     } 
    } 
}]) 

MongoDB中$group aggretion東西...如何在Java標準 查詢語言來寫......

+0

你可以請證明你到目前爲止所嘗試過的嗎? – Veeram

+0

對於後期重播veeram感到抱歉。 –

+0

DBObject組= new BasicDBObject(「$ group」,new BasicDBObject(「_ id」,「$ name」,「$ salary」)); –

回答

1

你可以試試低於聚合。

import static org.springframework.data.domain.Sort.Direction.DESC; 
import static org.springframework.data.mongodb.core.aggregation.Aggregation.*; 

Aggregation aggregation = newAggregation(
     unwind("comments"), 
     sort(DESC, "comments.time"), 
     group("_id") 
      .first("careGiverId").as("careGiverId") 
      .first("careGiverName").as("careGiverName") 
      .push("comments").as("comments")); 

List<BasicDBObject> dbObjects = mongoOperations.aggregate(aggregation , collection_name, BasicDBObject.class).getMappedResults(); 

您可以根據您的設置調整最後一條語句。

+0

謝謝你veeram ... –

+0

現在正在檢查..你知道發生了什麼 –

+0

公頃它工作正常..veeram –