Spring Data - MongoDb聚合$ ifNull

时间:2016-05-11 13:52:32

标签: java spring mongodb spring-data

db.collection.aggregate([
    {$match : { name : "name" } },
    {$project: {
        name: 1,
        sent: { 
            $size: {
                "$ifNull": [ "$audience", [] ]
            } 
        }
    }
}]);

如何使用Spring数据进行上述mongo聚合?

1 个答案:

答案 0 :(得分:2)

我知道这是一篇很老的帖子,你可能找到了答案,但是,为了别人的缘故,我在这里发帖。

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