Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

164
Visualizações
problema al obtener datos en mongodb, obtener por ID de categoría

Estoy tratando de filtrar mis mascotas por categoría, tengo el siguiente modelo de mascotas:

 const Pet = mongoose.model( 'Pet', new Schema({ name: { type: String, required: true, }, age: { type: Number, required: true, }, description: { type: String, }, weight: { type: Number, required: true, }, color: { type: String, required: true, }, images: { type: Array, required: true, }, available: { type: Boolean, }, category: Object, user: Object, adopter: Object, }, { timestamps: true }), ); module.exports = Pet;

cuando trato de obtener los datos a través del cartero, devuelve una matriz vacía como respuesta.

mi codigo para filtrar por categoria:

 static async getByCategory(req, res) { const id = req.params.id; // check if id is valid if (!ObjectId.isValid(id)) { res.status(422).json({ msg: 'Invalid ID' }); return; } const pets = await Pet.find({ 'category._id': id }).sort('-createdAt'); if (!pets) { res.status(404).json({ msg: 'Pets not found!' }); return; } res.status(200).json({ pets }); }

es la primera vez que uso mongodb, así que no estoy seguro de qué está mal.

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

¿Podría verificar que su MongoDB tenga un campo category._id ?

about 4 years ago · Juan Pablo Isaza Relatório

0

La id que se pasa desde el lado del cliente es una cadena y la que se guarda en la base de datos es ObjectId . Convierta la cadena a Mongoose ObjectId antes Pet.find() .

 const id = mongoose.Types.ObjectId(req.params.id); const pets = await Pet.find({ 'category._id': id }).sort('-createdAt');

No olvides importar 'mangoose'.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda