sql >> Databasteknik >  >> NoSQL >> MongoDB

Implementera autoslutförande på MongoDB

Som föreslagits av @Thilo kan du använda flera idéer inklusive prefix.

Det viktigaste är att ha mycket snabb begäran (eftersom du vill att autoslutförande ska känna momentan). Så du måste använda query som kommer att använda korrekta index.

Med regexp:använd /^prefix/ (det viktiga är ^ för att ange början av raden som är obligatorisk för att få frågan att använda index).

Områdesfrågan är också bra:{ $gt : 'jhc', $lt: 'jhd' } }

Mer komplicerat men snabbare:du kan lagra prefixträd i mongo (alias försök) med poster som:

 {usrPrefix : "anna", compl : ["annaconda", "annabelle", "annather"]}
 {usrPrefix : "ann", compl : ["anne", "annaconda", "annabelle", "annather"]}

Den sista lösningen är väldigt snabb (om den indexerar på compl förstås) men inte utrymmeseffektiv alls. Du vet vilken avvägning du har för att välja.



  1. Hur man namnutrymmestangenter på redis för att undvika namnkollisioner?

  2. MongoDB $substrCP

  3. Hur upprätthåller man främmande nycklar i NoSql-databaser (MongoDB)?

  4. Slår samman två samlingar i MongoDB