Zgodnie z sugestią @Thilo możesz użyć kilku pomysłów, w tym prefiksów.
Najważniejszą rzeczą jest bardzo szybkie żądanie (ponieważ chcesz, aby autouzupełnianie czuło nagły). Musisz więc użyć zapytania, które użyje odpowiednich indeksów.
Z regexp :użyj /^prefix/
(ważną rzeczą jest ^ do określenia początku linii, która jest obowiązkowa, aby zapytanie używało indeksu).
Zapytanie o zakres też jest dobre:{ $gt : 'jhc', $lt: 'jhd' } }
Bardziej skomplikowane, ale szybsze:możesz przechowywać drzewa przedrostkowe w mongo (aka try) z wpisami takimi jak:
{usrPrefix : "anna", compl : ["annaconda", "annabelle", "annather"]}
{usrPrefix : "ann", compl : ["anne", "annaconda", "annabelle", "annather"]}
To ostatnie rozwiązanie jest bardzo szybkie (oczywiście jeśli indeksy są na compl), ale w ogóle nie zajmuje miejsca. Znasz kompromis, który też musisz wybrać.