SELECT (a+b) as c FROM my_table ORDER BY c ASC;
Come ordinare in base a due colonne la somma in Mongo?MongoDB: ordine di due campi somma
SELECT (a+b) as c FROM my_table ORDER BY c ASC;
Come ordinare in base a due colonne la somma in Mongo?MongoDB: ordine di due campi somma
Non si può fare facilmente senza un'azione extra.
Per ordinare su qualsiasi valore calcolato è necessario memorizzarlo in un documento prima o in altri mondi è necessario creare il campo aggiuntivo "c" e memorizzare un + b in esso con ogni aggiornamento/inserimento e solo dopo ordinare su 'c' come al solito.
è possibile ottenere in questo modo query:
db.mycol.aggregate(
[{$match:{tag:"xxx"}},
{$project:{tag:1, count_a:1, count_b:1, factor:{$add: ["$count_a", "$count_b"]}}},
{$sort:{factor:-1}}]
)
Si tratta di una soluzione molto brutale. :( – fl00r
Dalla quantità di lavoro mb sembra brutale, ma dal lato delle prestazioni è sempre più veloce di qualsiasi calcolo –
Sembra brutale dal lato sql :) – fl00r