【发布时间】:2020-07-31 23:32:15
【问题描述】:
我在 MongoDB 中有以下格式的文档。我想提取每天按类别、名称、日期(格式如 yyyy-mm-dd)分组的数据,以了解通过或失败的状态。
{ "name":"Scenario number one", "category":"general", "creationDateTime":"2020-06-15T00:18:35.608+00:00", "status":"Passed" },
{ "name":"Scenario number one", "category":"general", "creationDateTime":"2020-06-15T00:11:35.608+00:00", "status":"Failed" },
{ "name":"Scenario number one", "category":"general", "creationDateTime":"2020-06-15T00:08:35.608+00:00", "status":"Passed" },
{ "name":"Scenario number two", "category":"happy-path", "creationDateTime":"2020-06-15T00:17:35.608+00:00", "status":"Failed" },
{ "name":"Scenario number one", "category":"general", "creationDateTime":"2020-06-13T00:12:35.608+00:00", "status":"Passed" },
{ "name":"Scenario number two", "category":"happy-path", "creationDateTime":"2020-06-12T00:11:35.608+00:00", "status":"Failed" },
{ "name":"Scenario number two", "category":"happy-path", "creationDateTime":"2020-06-12T00:10:35.608+00:00", "status":"Passed" }
我想以如下格式输出
{"category":"general", "name":"Scenario number one", "date":"2020-06-15", "status":"Passed"}
{"category":"happy-path", "name":"Scenario number two", "date":"2020-06-15", "status":"Failed"}
{"category":"general", "name":"Scenario number one", "date":"2020-06-13", "status":"Failed"}
{"category":"happy-path", "name":"Scenario number two", "date":"2020-06-12", "status":"Failed"}
请帮助使用 Spring Code。谢谢!
【问题讨论】:
-
分组不过滤。按天分组意味着使用每一天的所有文档。
-
按时间戳排序,将时间戳转换为日期,按日期分组,使用$last获取每个日期的最新文档。
标签: mongodb aggregation-framework spring-data-mongodb