Для начала неплохо было бы взглянуть на вывод
explain.
Производительность приложения напрямую зависит от используемого индекса, но в данном случае вы используете
$exists: false
, что автоматически приводит к ситуации полного сканирования коллекции.
Индексирование такого поля не выход. Если вы хотите индексировать, то в индекс должно попадать
значение.
Чтобы решить проблему, вам необходимо при вставке добавлять нечто вроде
updated: false
.
Если вы храните там дату, то используйте дополнительное поле
updatedAt
. Не следует смешивать разные типы данных в одном поле - монга может не построить индекс.
Для обратной сортировки вы можете создать дополнительный индекс с обратным порядком.
Подробнее о сортировках можно прочесть здесь
https://docs.mongodb.com/manual/tutorial/sort-resu...
Вы можете построить совмещенный индес с прямым проходом по свойству и обратной сортировкой, только следует соблюдать порядок.