Агрегационная фильтрация / скриптинг - PullRequest
0 голосов
/ 18 февраля 2020

У меня есть проблема, я не очень уверен, как ее решить:

Мой индекс хранит список строк в поле массива, в виде

["11_11_123", "11_12_234" ]

Это "11_11_123" - это просто "строковое" представление объекта, что-то вроде

{
id : 11,
id2 : 11,
time : 123
}

. В настоящее время хранение таким способом является скорее наследием от предыдущего приложения, чем строгим требованием, поэтому Изменение не является проблемой.

Что мне нужно:

Каждый раз, когда требуется агрегирование, проверяйте последнюю часть строки (123, которая является временной меткой) и принимайте только учитывает агрегацию строк, у которых эта метка времени больше, чем сейчас. Поэтому, если у меня есть 3 строки в массиве, и одна из них не удовлетворяет этому условию, результат должен быть равен 2.

Не очень уверен, можно ли это сделать с помощью фильтра агрегации или обработать его каким-либо образом с помощью скрипт агрегации.

Кроме того, не знаете, лучше ли для этого хранить этот «объект» как вложенный объект вместо строки.

Заранее спасибо, есть мысли?

...