Mysql
 sql >> Database >  >> RDS >> Mysql

MONGODB:Converti query SQL Union

Puoi farlo con il framework di aggregazione. Non sarà particolarmente efficiente farlo in una query, quindi probabilmente dovresti semplicemente fare la stessa cosa che stai facendo in SQL che sta eseguendo due query - l'unica differenza è che MongoDB non li "unirà" per tu, e dovrai farlo nell'applicazione.

Le due query di aggregazione sarebbero:

db.collection.aggregate( [
        {$project:{name:1, points:{$subtract:["$score_kills","$score_deaths"]}}},
        {$sort:{points:-1}},
        {$limit:10}
]);

Questo ti darebbe i primi 10. Per ottenere gli ultimi 10 dovresti fare la stessa cosa ma ordinare per {points:1} che ti lascerà con gli ultimi 10.