Может кто-нибудь сказать мне, пожалуйста, можно ли сделать индексы в Mongodb более эффективными в этом случае: у меня есть база данных с 50 миллионами элементов. Есть два индекса по полям "ico" и "publishDate". Ico используется для фильтрация, а publishDate — для сортировка. Можно ли сделать его более эффективным, как составной индекс? Можно ли совмещать фильтрацию и сортировку в составном индексе? Важно ли выбрать, какой из них должен быть первым в определении индекса? Это немного сложно, потому что у меня нет коллекции на локальном хосте.

Создайте составной индекс как {ico: 1, publishDate: 1}. См. документ.
Подробное объяснение см. в emptysqua.re/blog/оптимизация-mongodb-составные-индексы.
Почему вы выбираете ico в качестве первого поля в индексе? Как сказано в документации, это важно в случае, если я хочу использовать ico-фильтр без порядка публикацииDate. Но важно ли это, если я использую оба поля все время? Я сделал индекс несколько минут назад и сначала использовал publishDate.