Сначала я пытаюсь получить все документы в коллекции, некоторые из них имеют массив объектов "events", который имеет поле свойства latestTimeStamp.
Пример данных:
[
{
"_id": "5c1f7054b8fcd6574162a594",
"userId": "35",
"createdDate": "Sun Dec 23 15:24:04 GST 2018",
"events": [
{
"latestTimeStamp": "2018-12-31T06:08:49.808Z"
},
{
"latestTimeStamp": "2018-12-31T06:09:13.235Z"
},
{
"latestTimeStamp": "2018-12-31T06:21:36.666Z"
},
{
"latestTimeStamp": "2018-12-31T06:21:59.427Z"
},
{
"latestTimeStamp": "2018-12-31T06:22:19.858Z"
},
{
"latestTimeStamp": "2018-12-31T06:22:43.728Z"
}
]
},
{
"_id": "5c2875f9fc441802398b8925",
"userId": "35",
"createdDate": "Sun Dec 30 11:38:33 GST 2018",
"events": [
{
"latestTimeStamp": null
},
{
"latestTimeStamp": "Dec 30, 2018, 12:02:07 PM"
},
{
"latestTimeStamp": "Dec 30, 2018, 12:03:08 PM"
},
{
"latestTimeStamp": "Dec 31, 2018, 10:34:12 AM"
},
{
"latestTimeStamp": "Dec 31, 2018, 10:35:21 AM"
},
{
"latestTimeStamp": "Dec 31, 2018, 10:36:21 AM"
}
]
},
{
"_id": "5c28b985fc4418461a38ee79",
"userId": "5c1894a44d27fc000634e200",
"createdDate": "Sun Dec 30 16:26:45 GST 2018",
"events": [
{
"latestTimeStamp": "2018-12-30T12:26:33.666251Z"
},
{
"latestTimeStamp": "2018-12-30T12:28:56.035Z"
},
{
"latestTimeStamp": "2018-12-30T13:00:01.212Z"
},
{
"latestTimeStamp": "2018-12-30T13:01:16.183Z"
},
{
"latestTimeStamp": "2018-12-30T13:28:47.290Z"
},
{
"latestTimeStamp": "2018-12-30T13:30:03.035Z"
},
{
"latestTimeStamp": "2018-12-30T13:26:16.981Z"
},
{
"latestTimeStamp": "2018-12-30T13:27:31.072Z"
},
{
"latestTimeStamp": "2018-12-30T13:32:31.278Z"
},
{
"latestTimeStamp": "2018-12-30T13:31:15.812Z"
},
{
"latestTimeStamp": "2018-12-30T13:33:46.519Z"
},
{
"latestTimeStamp": "2018-12-30T13:35:02.424Z"
},
{
"latestTimeStamp": "2018-12-30T13:36:15.887Z"
},
{
"latestTimeStamp": "2018-12-30T13:37:31.641Z"
},
{
"latestTimeStamp": "2018-12-30T13:38:46.618Z"
},
{
"latestTimeStamp": "2018-12-30T13:40:01.975Z"
},
{
"latestTimeStamp": "2018-12-30T13:41:48.499Z"
},
{
"latestTimeStamp": "2018-12-30T13:44:08.981Z"
},
{
"latestTimeStamp": "2018-12-30T13:44:17.154Z"
},
{
"latestTimeStamp": "2018-12-30T13:44:23.837Z"
},
{
"latestTimeStamp": "2018-12-30T13:44:20.137Z
}
]
}]
Я хочу получить все документы в коллекциях и только один объект в массиве объектов "events" с помощью "latestTimeStamp"
Я былвозможность извлечь все документы только с одним объектом «событий» с помощью метода $ slice:
Query query = new Query();
query.fields().include("events").slice("events", -1,1);
return reactiveMongoTemplate.find(query, Mission.class);
Мой вопрос: есть ли лучший способ добиться его извлечения?как максимальная дата или последняя отметка времени?или используя агрегат?