libros-controladores
Quiero que los datos aparezcan por el nombre en el cartero y no por el DNI porque tengo información y quiero buscarla a través del nombre en la base de datos
const getByName = async (req, res, next) => { const name = req.params.name; let book; try { book = await Book.getByName("name"); } catch (err) { console.log(err); } if (!book) return res.status(404).json({ message: "No book found" }); } return res.status(200).json({ book }); };modeloEsquema
Aquí está el modelo Skyma
const mongoose = require('mongoose'); const Schema = mongoose.Schema; const bookSchema = new Schema({ name: { type: String, require: true }, description: { type: String, require: true }, price: { type: Number, require: true }, avilable: { type: Boolean, }, image: { type: String, require: true }, }); module.exports = mongoose.model("Book", bookSchema);Puedes probar esto -
async function getByName(req, res){ const bookname = req.params.name ; try { const book = await Book.findOne({name: bookname}) if(book!==null) { res.status(200).send({'data': book}) ; } else { res.status(404).send("No book found !") } } catch(error) { console.log(error) res.send("Error") } }