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

Wie kann ich die obige Mongo-Aggregation mit Spring-Daten durchführen?

Antwort

0

Ich weiß, das ist ein alter Post und Sie haben vielleicht die Antwort gefunden, aber, nur um der anderen willen, posten ich es hier.

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