MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Implementieren Sie die automatische Vervollständigung in MongoDB

Wie von @Thilo vorgeschlagen, können Sie mehrere Ideen verwenden, einschließlich Präfixen.

Das Wichtigste ist, eine sehr schnelle Anfrage zu haben (weil Sie möchten, dass sich die automatische Vervollständigung fühlt sofort). Sie müssen also eine Abfrage verwenden, die die richtigen Indizes verwendet.

Mit Regexp:Verwenden Sie /^prefix/ (Wichtig ist das ^ zur Angabe des Zeilenanfangs, das zwingend erforderlich ist, damit die Abfrage den Index verwendet).

Die Bereichsabfrage ist auch gut:{ $gt : 'jhc', $lt: 'jhd' } }

Komplizierter, aber schneller :Sie können Präfix-Bäume in Mongo (auch bekannt als Trys) mit Einträgen wie :

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

Diese letzte Lösung ist sehr schnell (wenn Indizes natürlich auf compl sind), aber überhaupt nicht platzsparend. Sie kennen den Kompromiss, den Sie zu wählen haben.