Quiero hacer una búsqueda dinámica completa, cuando el usuario solía escribir uno o dos caracteres de cadena del libro en la interfaz de usuario de la librería en el cuadro de búsqueda, debería traer todos los valores de coincidencia de mi tabla de libros que pueden ser toda mi tabla. El tipo de objeto que el usuario desea buscar no es importante, debe traer todos los valores coincidentes.
const searchObjects = req.query; const result =await modelbook.find({ //this place is for query that i don't know how I should write }); res.status(200).json({resultis: result}); })y el modelo de libro tiene estas propiedades nombre precio Url autor...
Deberías usar $regex .
const search = asyncWrapper(async (req, res) => { var { value } = req.query; const result = await modelbook.find({ $or: [ { name: { $regex: value, $options: "i" } }, { price: { $eq: Number(value) ? +value : 0 } }, { url: { $regex: value, $options: "i" } }, { description: { $regex: value, $options: "i" } }, { author: { $regex: value, $options: "i" } } ], }); res.status(200).json({ resultis: result }); })