Estoy tratando de hacer una consulta mayor que pero siempre devuelve una matriz vacía.
const productSchema = require("./productsSchema"); const getProductsGreaterThan = async (minimum_id) => { try{ console.log(minimum_id); const productById = await productSchema.find({id: {$gt:minimum_id}}); return productById } catch(err){ console.error(err); } }Este es mi controlador:
if (req.params.minimum_id) { const productsById = await productsModel.getProductsGreaterThan(req.params.minimum_id); res.status(200).json(productsById); }Debería devolver los productos con una ID mayor que la que escribo en los req.params...
routes.get("/products/:minimum_id?",productRoutes.getProductsGreaterThan);Pero cuando escribo la ruta como esta en la URL, aparece una matriz vacía => http://localhost:3000/products/10 ¿Qué tiene de malo este código? Estoy muy confundido, porque otras consultas como find({}) funcionan. Mi versión de mangosta es 6.2.10.
Si está utilizando mongoose y MongoDB, el formato de id correcto es _id . Así que harías lo siguiente:
productSchema.find({_id: {$gt:minimum_id}})Resuelto. De alguna manera, el problema estaba en el nombre de la colección de mongoDB. Parece que debería estar siempre en minúsculas y en plural.