sql >> Base de Datos >  >> NoSQL >> MongoDB

Buscando en mongo db usando mongoose regex vs text

Bueno, tanto la expresión regular como la búsqueda de texto ($texto) lo ayudan a buscar en el texto de manera muy eficiente. Ambos tienen sus propias ventajas y desventajas, pero hay dos distinciones claras

expresión regular

  • Regex no aprovecha los índices, a menos que esté buscando al principio de la cadena usando ^ operador.

  • Regex le permite buscar texto parcial. por lo tanto .* y tantos otros patrones.

  • Regex no admite palabras de parada o ruido.

$texto

Los índices de texto en mongodb son realmente rápidos y deberían preferirse. Sin embargo, MongoDB no implementa índices de texto completos. Un inconveniente principal es que no admite coincidencias parciales. p.ej. si está buscando gato, buscará solo gato y gatos, pero no gato montés ni oruga.

La conclusión es si está buscando implementar una función como RDBMS like operador, '$texto' no le ayudará (al menos en las implementaciones actuales de MongoDB, pero en el futuro puede cambiar).