我有一个mongo聚合组查询:
db.wizard.aggregate(
{
$group: {
_id: "$title",versions: { $push: {version:"$version",author:"$author",dateAdded:"$dateAdded"}}
}
})
我在Java Spring-Data-MongoDB中需要这个查询,我目前的解决方案如下所示:
Aggregation agg = Aggregation.newAggregation(
Aggregation.group("title").
push("version").as("versions")
);
问题是我不知道如何为push方法添加更多字段(版本,作者,dateAdded).
是否可以使用Spring-Data-MongoDB?
最佳答案
您可以直接将BasicDbObject传递给任何聚合管道阶段.
Aggregation agg = newAggregation(
group("title").
push(new BasicDBObject
("version","$version").append
("author","$author").append
("dateAdded","$dateAdded")).as("versions"));