En realidad, soy un nuevo desarrollador de mongodb express. Quiero optimizar mi recuperación de datos de backend.
Lo he intentado de muchas maneras pero no funcionó.
En realidad, no quiero pasar el nombre completo como parámetro o texto de búsqueda.
Pero estoy confundido, ¿hay alguna forma de crear una consulta que me ayude a obtener datos parcialmente coincidentes de mongodb? como funciona el método include("some text").
Aquí está mi código. funciona bien, pero no quiero filtrar después de buscar:
//Getting products using search query app.get("/products", async (req, res) => { //I want to use this query to optimize data fetching let query = {}; //Optimization needed //To search products using products name (my current solution) if (req.query.name) { // query = {name: req.query.name} // Only gives result for exact match const cursor = productsCollection.find(query); const products = await cursor.toArray(); const searchText = req.query.name.toLowerCase(); const filteredProducts = products.filter((product) => product.name.toLowerCase().includes(searchText) ); res.send(filteredProducts); } //To get all products else { const cursor = productsCollection.find(query); const products = await cursor.toArray(); res.send(products); } });