sql >> Base de Datos >  >> NoSQL >> MongoDB

Problema de clasificación y límite basado en el tiempo de encadenamiento

El shell de MongoDB evalúa los cursores de forma perezosa, es decir, la serie de operaciones encadenadas que ha realizado da como resultado que se envíe una consulta al servidor, utilizando el estado final basado en las operaciones encadenadas. Así que cuando dices "sort({time: -1}).limit(2).sort({time: 1}) " la segunda llamada para ordenar anula la ordenación establecida por la primera llamada.

Para lograr el resultado deseado, probablemente sea mejor que invierta la salida del cursor en el código de su aplicación, especialmente si se limita a un conjunto de resultados pequeño (aquí está usando 2). El código exacto para hacerlo depende del idioma que esté utilizando, que no ha especificado.