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

273
Visualizações
Cómo usar $pull para eliminar datos particulares de un documento en mongoDB

Soy bastante nuevo en MongoDB, quiero eliminar un objeto en particular de una matriz de objetos en un documento. Intenté mucho y encontré muchas preguntas en StackOverflow. Pero ninguna funcionó (tal vez es mi culpa)

el siguiente es un documento de una colección que coincide con el usuario con ID de usuario

 61f15af01a3c53dfa87e38e6

El documento

 { "_id": "61f15af01a3c53dfa87e38ed", "user": "61f15af01a3c53dfa87e38e6", "transactions": [ { "amount": 50, "category": "Bills", "type": "Expense", "_id": "61f15af01a3c53dfa87e38ee" }, { "amount": 100, "category": "Lottery", "type": "Income", "_id": "61f15af01a3c53dfa87e38ef" }, { "amount": 200, "category": "Salary", "type": "Income", "_id": "61f15af01a3c53dfa87e38f0" }, ] }

Quiero eliminar la transacción con un Id de 61f15af01a3c53dfa87e38ef

Probé el siguiente (no sé si es correcto)

 const allTransactions = await Transactions.findOne({ user: req.user._id }); const updatedTransactions = await allTransactions.update( { }, { $pull: { transactions: { id: req.params.id } } }, );

¿Alguien puede detectar el error y cómo puedo lograrlo?

Gracias por adelantado :)

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Puede hacerlo en una llamada a la base de datos usando la siguiente declaración:

 await Transactions.update( { user: "61f15af01a3c53dfa87e38e6" }, { $pull: { "transactions": { _id: "61f15af01a3c53dfa87e38f0" } } } )

Parque infantil Mongo

También asegúrese de que los tipos coincidan. Si _id es de tipo ObjectId en lugar de string , primero debe convertir req.params.id a ObjectId . Vea abajo:

 await Transactions.update( { user: mongoose.Types.ObjectId(req.user._id) }, { $pull: { "transactions": { _id: mongoose.Types.ObjectId(req.params.id) } } } )
over 4 years ago · Santiago Trujillo 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