MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Implémenter la saisie semi-automatique sur MongoDB

Comme suggéré par @Thilo, vous pouvez utiliser plusieurs idées, y compris le préfixe.

La chose la plus importante est d'avoir une requête très rapide (parce que vous voulez que la saisie semi-automatique sent instantané). Vous devez donc utiliser une requête qui utilisera correctement les index.

Avec regexp :utilisez /^prefix/ (l'important est le ^ pour spécifier le début de ligne qui est obligatoire pour que la requête utilise l'index).

La requête de plage est bonne aussi :{ $gt : 'jhc', $lt: 'jhd' } }

Plus compliqué mais plus rapide :vous pouvez stocker des arborescences de préfixes dans mongo (alias essaye) avec des entrées comme :

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

Cette dernière solution est très rapide (si index sur compl bien sûr) mais pas du tout économe en espace. Vous connaissez le compromis que vous devez également choisir.