我有一个类似
的查询 db.getCollection('myCollection').aggregate([
{$match : { "iPid" : "1234"}},
{$group : {_id : "$fileName",
name: { $addToSet: "$name" },
files: { $addToSet: "$fileName" },
inputRowCount:{ $sum: 1 },
success:{ "$sum" : {"$cond" : [ {"$eq" : ["$status", 0] }, 1 ,0 ] } },
fail:{ "$sum" : {"$cond" : [ {"$eq" : ["$status", 2] }, 1 ,0 ] } },
skip:{ "$sum" : {"$cond" : [ {"$eq" : ["$status", 1] }, 1 ,0 ] } }
}
},
{$sort:{idsl:-1}},
{ $unwind: '$name'},
{ $unwind: '$files'}
]);
需要为上述查询编写spring mongoTemplate.aggregate(..),如下所示
AggregateRequest aggregateRequest = new AggregateRequest();
Aggregation agg = newAggregation(match(Criteria.where("iPid").is(1234)),
group("fileName").count().as("inputRowCount").addToSet("name").as("idsl").addToSet("fileName").as("files").sum("..........?.......").as("success")...
... 上面的代码不是完整的代码,如何在聚合总和内编写条件运算。