MongoDB не поддерживает именно эту операцию, которую вы запрашиваете, и, следовательно, не поддерживает Mongoengine.
Вы можете выполнять операции срезов для массивов (списков), но не для специальной фильтрации.Нарезка в массивах MongoDB работает аналогично нарезке списков в Python, и вы можете сделать это с Mongoengine, используя синтаксис ключевого слова slice__
:
Main.objects.filter(subs__name__exists=True).fields(slice__subs=[0,2])
Это вернет подпрограммы, начинающиеся с индекса 0 (то есть первый элемент) и возвращая после этого два элемента.