Сделайте отдельное поле под индекс, например:
{f0: "A", f1: "a", f2: "B"} -> _index: "aab"
{ f1: "A", f2: "b"} -> _index: "xab"
"x" вместо пропущенного поля, что-б уходило в конец сортировки
Если нужна уникальность, то этот "ключ" можно писать в поле _id.
В итоге будет работать быстрее и памяти потреблять меньше.