Я прочитал эту документацию: " Сортировка и не префиксное подмножество индекса "
С этой информацией.Я пытаюсь ответить на этот вопрос о тесте MongoDB, у них есть вопрос
У вас есть следующие индексы в коллекции вещей:
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "test.things"
},
{
"v" : 1,
"key" : {
"a" : 1
},
"name" : "a_1",
"ns" : "test.things"
},
{
"v" : 1,
"key" : {
"c" : 1,
"b" : 1,
"a" : 1
},
"name" : "c_1_b_1_a_1",
"ns" : "test.things"
}
]
Вопрос: Какойиз следующих запросов потребует загрузки каждого документа в оперативную память для выполнения запроса?Предположим, что во время запроса данные не записываются.Отметьте все подходящие варианты.
db.things.find( { b : 1 } ).sort( { c : 1, a : 1 } )
db.things.find( { c : 1 } ).sort( { a : 1, b : 1 } )
db.things.find( { a : 1 } ).sort( { b : 1, c : 1 } )
Ответ, который они дают ...
db.things.find( { b: 1} ).sort( {c: 1, a: 1} )
Может кто-нибудь помочь мне понять, почему другие 2 варианта неверны, то есть как они используют индекс/ Index-приставка.Насколько я понимаю, часть SORT должна соответствовать порядку indexed-column-order.Кроме того, предложенный правильный ответ также не соответствует правилу (согласно документации).