sql >> Databáze >  >> NoSQL >> MongoDB

Implementujte automatické doplňování na MongoDB

Jak navrhuje @Thilo, můžete použít několik nápadů včetně předpony.

Nejdůležitější je mít velmi rychlý požadavek (protože chcete, aby automatické doplňování cítilo okamžitý). Musíte tedy použít dotaz, který bude správně používat indexy.

S regulárním výrazem:použijte /^prefix/ (důležitá věc je ^ pro specifikaci začátku řádku, který je povinný, aby dotaz používal index).

Dotaz na rozsah je také dobrý:{ $gt : 'jhc', $lt: 'jhd' } }

Složitější, ale rychlejší:do mongo (aka try) můžete ukládat předponové stromy s položkami jako:

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

Toto poslední řešení je velmi rychlé (samozřejmě pokud indexuje na compl), ale vůbec není prostorově úsporné. Znáte kompromis, který si také můžete vybrat.



  1. Jak připojit mongodb klienty k místnímu Meteor MongoDB

  2. Lze mongodb použít jako vestavěnou databázi?

  3. Povýšit podpole na nejvyšší úroveň v projekci bez uvedení všech klíčů

  4. Program scrapy-redis se automaticky neuzavírá