MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Limiter et trier Map/Reduce en ligne dans MongoDB

Normalement sort dans mongodb mapreduce appliqué avant la carte, ils sont littéralement appliqués aux données d'entrée et non à la sortie.

À partir de la documentation mongodb

   [, sort : <sorts the input objects using this key. Useful for optimization, like sorting by the emit key for fewer reduces>]
   [, limit : <number of objects to return from collection>]

Donc, si vous voulez trier et limiter la sortie de réduction de la carte, vous devez stocker le résultat dans la collection temporaire. Je ne pense pas qu'il soit possible d'appliquer le tri et la limite au inline mapréduire la sortie puisqu'il s'exécute sur la RAM.

MODIF :

Il y a un problème ouvert (Ajouter la prise en charge du tri et de la limitation de la carte/réduction en ligne ) dans mongodb Jira à ce sujet. Jetez un œil.