MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Implemente o preenchimento automático no MongoDB


Conforme sugerido por @Thilo, você pode usar várias ideias, incluindo prefixação.

O mais importante é ter uma solicitação bem rápida (porque você quer que o autocomplete sinta instantânea). Então você tem que usar a consulta que usará os índices corretamente.

Com regexp:use /^prefix/ (o importante é o ^ para especificar o início de linha que é obrigatório para fazer a consulta usar índice).

A consulta de intervalo também é boa:{ $gt : 'jhc', $lt: 'jhd' } }

Mais complicado, mas mais rápido:você pode armazenar prefix-trees no mongo (também conhecido como tentativas) com entradas como:
 {usrPrefix : "anna", compl : ["annaconda", "annabelle", "annather"]}
 {usrPrefix : "ann", compl : ["anne", "annaconda", "annabelle", "annather"]}

Esta última solução é muito rápida (se os índices estiverem em compl, é claro), mas não é eficiente em termos de espaço. Você sabe o trade-off que você também tem que escolher.