MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Encadeamento de classificação baseada em tempo e problema de limite


O shell do MongoDB avalia cursores preguiçosamente, ou seja, a série de operações encadeadas que você fez resulta em uma consulta sendo enviada ao servidor, usando o estado final com base nas operações encadeadas. Então, quando você diz "sort({time: -1}).limit(2).sort({time: 1}) " a segunda chamada para classificar substitui a classificação definida pela primeira chamada.

Para alcançar o resultado desejado, provavelmente é melhor reverter a saída do cursor no código do aplicativo, especialmente se estiver limitando a um pequeno conjunto de resultados (aqui você está usando 2). O código exato para fazer isso depende do idioma que você está usando, que você não especificou.