MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Implementa il completamento automatico su MongoDB

Come suggerito da @Thilo, puoi utilizzare diverse idee, incluso il prefisso.

La cosa più importante è avere una richiesta molto veloce (perché vuoi che il completamento automatico senti istantaneo). Quindi devi usare query che utilizzerà correttamente gli indici.

Con regexp :usa /^prefix/ (l'importante è ^ per specificare l'inizio della riga che è obbligatorio per fare in modo che la query utilizzi l'indice).

Anche la query sull'intervallo è buona:{ $gt : 'jhc', $lt: 'jhd' } }

Più complicato ma più veloce:puoi memorizzare alberi di prefisso in mongo (ovvero try) con voci come:

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

Quest'ultima soluzione è molto veloce (se indici su compl ovviamente) ma non è affatto efficiente in termini di spazio. Conosci anche tu il compromesso che devi scegliere.