Estoy creando una aplicación y necesito implementar la función de autocompletar para la búsqueda. ahora estoy tratando de implementarlo usando expresiones regulares y no estoy seguro de si es la mejor manera porque para cualquier entrada de carácter nuevo en la barra de búsqueda necesito hacer una nueva solicitud, ¿hay una manera mejor y más rápida? no estoy usando mongo atlas
server.get("/search", async (req, res) => { try { var regex = new RegExp(`${req.params.name}`, 'i'); const users = await User.find({name:regex}); res.status(400).send(users); } catch (error) { res.status(500).send({message:error.message}); }})
En las búsquedas siempre se recomienda utilizar un Debouser, ya que este espera a que el usuario termine de escribir para realizar la solicitud, tu código de backend es correcto, solo necesitas implementar el Debouser en el frontend:
Reacción del eliminador de dependencias: https://www.npmjs.com/package/use-debounce
puede poner un tiempo de espera de 500 milisegundos, esto hará la solicitud cuando el usuario no escriba durante 500 milisegundos.