2016-05-11 19 views
5
db.collection.aggregate([ 
    {$match : { name : "name" } }, 
    {$project: { 
     name: 1, 
     sent: { 
      $size: { 
       "$ifNull": [ "$audience", [] ] 
      } 
     } 
    } 
}]); 

Springデータで上記のmongo集計を行うにはどうすればよいですか?

答えて

0

私はこれが古い投稿であることを知っていますが、あなたは答えを見つけたかもしれませんが、他の人のためにここに投稿しています。

Aggregation aggregation = Aggregation.newAggregation(
.match(Criteria.where("name").is("name")) 
.project("name")   
    .and(ArrayOperators.Size.lengthOfArray(ConditionalOperators.ifNull("audience").then(Collections.emptyList()))).as("sent") 
);