удаление «scanAndOrder»: true в моем результате запроса MongoDB

Итак, у меня есть коллекция в моей БД со следующим ключом shardkey: {cl: & quot; yyyy-mm & quot ;, user_id: N}

когда я выполняю следующий запрос

db.collection.find({ cl:"2012-03", user_id:{$in:users}, _id:{"$lt":new ObjectId('4f788b54204cfa4946000044')} }).sort({_id:-1}).limit(5).explain(true)

это дает мне такой результат:

"clusteredType" : "ParallelSort",
"shards" : {
    "set1/hostname.com:27018" : [
        {
            "cursor" : "BtreeCursor cl_1_user_id_1 multi",
            "nscanned" : 21294,
            "nscannedObjects" : 21288,
            "n" : 5,
            "scanAndOrder" : true,
            "millis" : 1258,
            "nYields" : 69,
            "nChunkSkips" : 0,
            "isMultiKey" : false,
            "indexOnly" : false,
            "indexBounds" : { ...

Итак, как я могу сделать сортировку для использования индекса, тогда мне не нужно сканировать все 21288 документов, только чтобы вернуть последние 5?

Ответы на вопрос(4)

Ваш ответ на вопрос