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

82
Visualizações
Encuentre el objeto dentro de la matriz y actualice el documento con Express y MongoDB

Tengo documentos que contienen objetos dentro de una matriz. Necesito poder acceder a la matriz y basándome en el _id del objeto para poder actualizarlo.

Este es mi modelo:

 import { Schema, model } from "mongoose"; const PettyCashSchema = Schema ( { createdAt: { type: Date, default: Date.now }, totalRevenue: { type: Number, maxlength:50, default:0, required: [true, 'El Total de Ingresos es obligatorio'] }, totalExpenditure: { type: Number, maxlength:50, default:0, required: [true, 'El Total de Egresos es obligatorio'] }, items:[{ item: { type: Number, unique: true, required: [true, 'El Item es obligatorio'] }, concept: { type: String, maxlength:50, required: [true, 'El Concepto es obligatorio'] }, revenue:{ type: Number, maxlength:50, default:0, required: [true, 'El Ingreso es obligatorio'] }, expenditure:{ type: Number, maxlength:50, default:0, required: [true, 'El Egreso es obligatorio'] }, description: { type: String, maxlength:50, required: [true, 'La Observación es obligatoria'] }, status: { type: Boolean, default: true, required: [true, 'El Estatus es obligatorio'] } }] } ); module.exports = model('PettyCash', PettyCashSchema);

Entonces trato de obtener la ID del documento y la ID del objeto dentro de la matriz para poder actualizarlo así.

Primer intento:

 const { idExp } = req.params; const { idItem } = req.params; let pettycash = await PettyCash.find( { "_id": idExp, "items._id": idItem } );

Solo devuelve el documento completo con todos los objetos dentro de la matriz.

segundo intento:

 let pettycash = await PettyCash.find( {"_id": idExp}, {items: {$elemMatch: {"_id": idItem}}});

Me devuelve el _id del objeto y los elementos de una matriz a los que no puedo acceder.

Gracias por tu ayuda.

about 4 years ago · Juan Pablo Isaza
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