Как составить сумму (поле) -сумму (поле2) и получить единый результат для всех документов - PullRequest
1 голос
/ 10 июня 2019

У меня есть коллекция mongodb, которая содержит два поля, amount и type, в type у меня есть либо cash-in, cash-out, либо transfer.Я хочу добавить индекс эластичного поиска с новым полем, которое содержит (the sum of all cash-ins in each document) - (sum of all cash-outs in each document).ps: каждая нажатая строка является либо операцией с наличными, либо с выплатой. Каждый раз, когда я добавляю новый документ, поле должно агрегироваться.есть ли что-то вроде этого

> if type="cash-in"
> mutate {
>   add_field => {
>     "cash-in" => "%{amount}"
>   }
> } 
> if type="cash-out"
> mutate {
>   add_field => {
>     "cash-out" => "%{amount}"
>   }
> } 
> 
> mutate {
>   add_field => {
>     "total" => "sum%{cash-in}-sum%{cash-out}"
>   }
> }
...