Из документации MongoDB
Если у вас есть составной индекс для нескольких полей, вы можете использовать его для запроса начального подмножества полей. Итак, если у вас есть индекс для a, b, c, вы можете использовать его для запроса [a] [a, b] [a, b, c]
Допустим, у меня есть документ с этими полями
- Логин пользователя
- Имя
- Страна
- Экстрафилд
Порядок моего индекса: [ID пользователя, имя, страна]
Итак, если у меня есть запрос типа
var q = (from c in collection.AsQueryable()
where c.UserID == UserID
where Name = "test"
where Country = 1
where ExtraField = "check"
select c);
Использует ли этот запрос индекс для первых трех параметров, а затем ищет ExtraField без индекса?
Если да, то то же самое и в этом запросе
var q = (from c in collection.AsQueryable()
where c.UserID == UserID
where ExtraField = "check"
select c);