sql >> Database >  >> NoSQL >> MongoDB

Automatisch aanvullen implementeren op MongoDB

Zoals voorgesteld door @Thilo, kun je verschillende ideeën gebruiken, inclusief voorvoegsels.

Het belangrijkste is om een ​​zeer snel verzoek te hebben (omdat u wilt dat automatisch aanvullen voelt ogenblikkelijk). Je moet dus een query gebruiken die de juiste indexen gebruikt.

Met regexp :gebruik /^prefix/ (het belangrijkste is de ^ om het begin van de regel te specificeren, wat verplicht is om de zoekopdracht index te laten gebruiken).

De bereikquery is ook goed:{ $gt : 'jhc', $lt: 'jhd' } }

Ingewikkelder maar sneller:u kunt prefix-trees opslaan in mongo (ook wel 'try's' genoemd) met vermeldingen als:

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

Deze laatste oplossing is erg snel (als indexen op compl natuurlijk) maar totaal niet ruimtebesparend. U kent de afweging die u ook moet kiezen.



  1. HDFS-gegevensblok - Leer de interne aspecten van Big Data Hadoop

  2. MongoDB:een document vinden op een id in een genest document

  3. Voeg tekenreekswaarden samen in een array in een enkel veld in MongoDB

  4. MongoDB - Een verzameling maken