Básicamente, quiero crear una función de búsqueda para el esquema de mis usuarios. Tomaría una consulta para un usuario en función de su nombre y devolvería los usuarios relevantes.
Por ejemplo:
consulta = "leo", respuesta = ["leonel messi", "leonardo dicaprio", ...]
Ya intenté usar el índice de texto, pero dado que requiere que se ingresen palabras completas, no se ajusta a mis restricciones, ya que lo más probable es que una consulta sean caracteres en lugar de palabras completas .
Entonces, esencialmente, estoy buscando hacer un autocompletado que devuelva usuarios relevantes en función de alguna entrada del usuario.
¿Cómo podría lograr esto? ¡Gracias!
Como lo muestran Dov Rine y rajabraza en los comentarios, simplemente podría usar una expresión regular para encontrar una implementación de este tipo.
Código:
const searchResults = await Users.find({ name: { $regex: `^${req.params.name}`, $options: 'i' } }).select(["name"]);