我想用Java编写聚合代码以基于多个字段进行分组。我的其中一个字段将从“日期”字段中提取。
我可以在一个字段中执行此操作,但是不知道如何从日期中提取日期,然后将其传递给分组。在我的shell中,我已经执行了查询,并且工作正常,但是我正在寻找与查询等效的Java代码:
db.abc.aggregate(
[
{
$group:
{
_id: { day: { $dayOfYear: "$date"}, year: { $year: "$date" } }
}
}
]
)
下面是我的收藏的结构
{ "_id" : 1, "item" : "abc", "price" : 10,"date" : ISODate("2014-01-01T08:00:00Z") }
我一直在使用:
GroupOperation group=Aggregation.group("field");
根据某个领域进行分组,但是如何提取年份并进行分组呢?