Mysql
 sql >> Base de données >  >> RDS >> Mysql

MONGODB :Convertir une requête SQL Union

Vous pouvez le faire avec le cadre d'agrégation. Il ne sera pas particulièrement efficace de le faire en une seule requête, vous devriez donc probablement faire la même chose que vous faites en SQL qui exécute deux requêtes - la seule différence est que MongoDB ne les "unira" pas pour vous, et vous devrez le faire dans l'application.

Les deux requêtes d'agrégation seraient :

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

Cela vous donnerait le top 10. Pour obtenir les 10 derniers, vous feriez la même chose mais triez par {points:1} ce qui vous laissera avec les 10 derniers.